Bootstrap

redis java分页语句_spring中redisTemplate实现redis分页

最近遇到需要将mysql表中数据缓存到redis中,而列表展示还需要采用分页来进行查询;最开始以为HASH结构能满足,后经网上查阅,利用ZSET及HASH结构存储数据即可实现redis分页。

步骤如下:

1. 首先利用ZSET将表A中的id以value形式进行存储,以及利用ZSET中score进行排序处理;

2. 将表A中数据以HASH结构进行存储,id作为HASH中key;

3. 利用redis中的zRangeByScore进行ZSET分页取出id列表,然后即可取出HASH中分页后的数据。

代码如下:

/**

* 存放单个hash缓存

* @param key 键

* @param hkey 键

* @param value 值

* @return

*/

public static boolean hput(String key, String hkey, Object value) {

try {

redisTemplate.opsForHash().put(key, hkey, value);

log.debug("hput {} = {}", key+hkey, value);

return true;

} catch (Exception e) {

log.warn("hput {} = {}", key+hkey, value, e);

}

return false;

}

/**

;