redis分页时,会使用到stringRedisTemplate.opsForList().rightPushAll(),
但是此方法拥有弊端,其拥有两中类型入参
@Nullable
Long rightPushAll(K var1, V… var2);
@Nullable
Long rightPushAll(K var1, Collection var2);
使用第二种入参时需要将value转换成Arr类型,
否在在取的时候,只会取出一个整体的对象,无法使用range(),来进行分页,此方法在上篇给出的redis工具类中有实现,感兴趣的伙伴可以翻阅上一篇观看,此处我再给出代码:
/**
* 向右添加
* @param key
* @param list
*/
public void rightPushAll(String key, List list) throws JsonProcessingException {
// 先删除再添加
this.delKey(key);
String [] objArr = new String[list.size()];
for (int i = 0; i < list.size(); i++) {
objArr[i] = this.BeanToString(list.get(i));
}
stringRedisTemplate.opsForList().rightPushAll(key,objArr);
}