落实分页查询Redis在驱动下的应用(分页查询用redis)
在信息技术越发发达、应用更加广泛的当今社会,分页查询方案更加被重视,对分页查询落实的技术有多种选择,也可以采用Redis进行分页查询落实,Redis常用于缓存计算结果,实际上还可以用来支持系统应用分页查询,下面来简单介绍一下Redis在分页查询中的应用。
Redis能够将结果进行排序,综合考虑以往系统分页查询的增删改查都对Redis操作的一致性来说,往Redis中存入的Master的ID信息,根据上一页last_id和下一页last_id 将数据有序的存入Hash 并通过key值进行排序,利用SortedSet的zrevrange指令即可查到满足条件的想要的数据信息;下图为Redis分页查询的简单流程
![Redis分页查询的简单流程](http://img.sc125.com/uploads1/201809/18/1_1537250187389_6.png)
下面来看实现代码,以用户查询历史数据为例,下面通过Redis做分页查询,来提升数据查询的性能:
// 将数据存入Redis
// HASHRedisTemplate.opsForHash().put("userHistory", String.valueOf(System.currentTimeMillis()), userHisStr);
// SORTEDSETRedisTemplate.opsForZSet().add("userHistorySet", String.valueOf(System.currentTimeMillis()), System.currentTimeMillis());
// Redis 分页查询// 初始页(从第几页开始查询)
Integer pageNo = 0;// 每页的条数
Integer pageSize = 30;// 按照时间开始查询
Long lastId = System.currentTimeMillis();// 查询数据
Set
Redis 在分页查询上应用效果明显,从代码上可见,Redis操作数据利用key来排序,这种key获取数据的方法比使用MySQL关系型数据库在性能上会有很大的提升,相应的,在Redis大数据查询时,也能较为准确、快速的获取到满足条件的数据信息。