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的操作的主要内容,如果未能解决你的问题,请参考以下文章