RedisTemplate缓存List的操作

Posted 疯狂小公举

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了RedisTemplate缓存List的操作相关的知识,希望对你有一定的参考价值。

RedisTemplate缓存List的操作

符合先进先出往右边存,从左边取

        //往缓存的数据的右边存值
        Long taskDetailQueue = redisTemplate.opsForList().rightPush("taskDetailQueue", 555);
        log.info("taskDetailQueue=", taskDetailQueue);
//        移除redis中最左边的一个元素 (当keyName中的元素被移除完,即返回为空,那么在redis中这个key也不存在了,这时候如果再去进行leftPush或者rightPush这类操作,是无法再添加数据的。)
        Object taskDetailQueue1 = redisTemplate.opsForList().leftPop("taskDetailQueue");
        log.info("taskDetailQueue1=", taskDetailQueue1);

判断该key是否存在,获取该键集合的长度(该key不存在则为0)

        Boolean flag = redisTemplate.hasKey("taskDetailQueue");
        if (flag) 
            // 获取所有的
            List list = redisTemplate.opsForList().range("taskDetailQueue", 0, -1);
            log.info("INFO=", list);
//            获取该键集合的长度
            Long size = redisTemplate.opsForList().size("keyName");
            log.info("size=", size);

        

删除集合中值等于value的元素

         删除集合中值等于value的元素(index=0, 删除所有值等于value的元素; index>0, 从头部开始删除第一个值等于value的元素; index<0, 从尾部开始删除第一个值等于value的元素)
         移除指定位置的数据:接收3个参数,分别是缓存的键名,计数事件,要移除的值。计数事件可以传入的有三个值,分别是-1,0,1。
         计数事件传-1表示:从存储容器的最右边开始,删除一个与要移除的值匹配的数据;
         计数事件传0表示:删除所有与传入值匹配的数据;
         计数事件传1表示:从存储容器的最左边开始,删除一个与要移除的值匹配的数据
			// index 表示删除几个
         Long index = redisTemplate.opsForList().remove("taskDetailQueue", 0, taskDetailInfo);
            log.info("index=", index);

使用RedisTemplate缓存List的一系列操作示例

以上是关于RedisTemplate缓存List的操作的主要内容,如果未能解决你的问题,请参考以下文章

使用RedisTemplate存储至缓存数据乱码解决

Spring RedisTemplate操作-List配置

RedisTemplate操作命令 - list

在Java中使用redisTemplate操作缓存

用java代码操作Redis进行相关的Hash,String,Set,List操作

REDIS05_SpringBoot整合redisRedisTemplate操作各个基本类型工具类的抽取