redis 缓存常用的命令,List/Set判断某个值是否在缓存中存在

list型:llen key 查缓存大小 

del key 清空集合

 

import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections.CollectionUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.ListOperations;
import org.springframework.data.redis.core.SetOperations;
import org.springframework.stereotype.Service;

import javax.annotation.Resource;
import java.util.List;
import java.util.Set;

/**
 * @version 1.0
 * @date 2019/11/13
 */
@Slf4j
@Service
public class TestServiceImpl implements TestService {

    private static final String TEST_USER_MEMBERID = "ab:memberid";

    @Autowired
    private TestMapper testMapper;

    @Resource(name = "RedisTemplate")
    private SetOperations<String, Integer> setOperations;

    @Resource(name = "RedisTemplate")
    private ListOperations<String, Integer> listOperations;


    @Override
    public boolean judgeIsTestUser(Integer memberId) {
        List<Integer> memberList = listOperations.range(TEST_USER_MEMBERID, 0, -1);
        if (CollectionUtils.isEmpty(memberList)) {
            memberList = testMapper.selectAllTestUser();
            listOperations.leftPushAll(TEST_USER_MEMBERID, memberList);
        }
        return memberList.contains(memberId);
    }
}

上面中的List还可以改成Set类型

Set<Integer> members = setOperations.members(TEST_USER_MEMBERID);
Boolean aBoolean = setOperations.isMember(TEST_USER_MEMBERID, memberId);
boolean contains = setOperations.members(TEST_USER_MEMBERID).contains(memberId);

 


版权声明:本文为zuihongyan518原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。