符合先进先出往右边存,从左边取
Long taskDetailQueue = redisTemplate.opsForList().rightPush("taskDetailQueue", 555);
log.info("taskDetailQueue={}", taskDetailQueue);
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表示:从存储容器的最左边开始,删除一个与要移除的值匹配的数据
Long index = redisTemplate.opsForList().remove("taskDetailQueue", 0, taskDetailInfo);
log.info("index={}", index);
使用RedisTemplate缓存List的一系列操作示例