RedisTemplate方法 - List

1. 新增缓存

// value既可以是List,也可以是一个实体,也可以是一个String、int等类型的参数
// 方法1:通过redisTemplate设置值
long liftPush = redisTemplate.boundListOps(key).leftPush(value);//左侧新增,返回当前数组长度
long rightPush = redisTemplate.boundListOps(key).rightPush(value);//右侧新增,返回当前数组长度

// 方法2:通过BoundValueOperations设置值
BoundListOperations listKey = redisTemplate.boundListOps(key);
listKey.leftPush(value);//左侧新增
listKey.rightPush(value);//右侧新增

// 方法3:通过ValueOperations设置值
ListOperations opsList = redisTemplate.opsForList();
opsList.leftPush(key, value);//左侧新增
opsList.rightPush(key, value);//右侧新增

2. 追加一组List缓存

// value既可以是List,也可以是一个实体,也可以是一个String、int等类型的参数
// 从原始数据的 左 侧插入一组数据,返回当前数组长度
long liftPushAll = redisTemplate.boundListOps(key).leftPushAll(value);
// 从原始数据的 右 侧插入一组数据,返回当前数组长度
long rightPushAll = redisTemplate.boundListOps(key).rightPushAll(value);

3. 查询key内缓存(起始索引,结束索引)

List listRange = redisTemplate.boundListOps(key).range(startIndex,endIndex);

4. 从 左侧 或 右侧 移除一个元素

// 移除左侧第一个索引
Object leftPop = redisTemplate.boundListOps(key).leftPop(); //返回被移除的内容
// 移除右侧第一个索引
Object rightPop = redisTemplate.boundListOps(key).rightPop(); //返回被移除的内容

5. 获取List的缓存长度

long size = redisTemplate.boundListOps(key).size();

6. 根据索引查询元素

// index:索引(下标)
Object o = redisTemplate.boundListOps(key).index(index);

7. 根据索引修改List中的某条数据(key,索引,值)

redisTemplate.boundListOps(key).set(index,value);

8. 移除number个值为value的元素(key,移除个数,值)

long removeNumber = redisTemplate.boundListOps(key).remove(number,value);