REDIS 分页缓存的实现


 

 

 

 

1、基于列表的分页缓存实现

    以下内容转载自 NoSQL数据库入门与实践(基于MongoDB、Redis)  刘瑜  刘胜松

分页缓存的背景

 

 分页缓存的使用需求

 

 

 

 

 

 总结

   1、REDIS的LIST内部是一个列表,所以在追加和获取数据上效率很高为O(1),但是其它操作的效率是O(N),而LRANGE的效率是O(S + N),因此LIST虽然可以依靠的LRANGE和列表序号实现分页查询,但是效率不高。

   2、LIndex可以用于获取列表内的元素,但是一次只能获取一个元素(不从列表删除对应内容);LRANGE一次则可以获取多个元素(不从列表删除对应内容);因此当队列内容过多时,可以用于debug调试,查看内部数据的详细情况。

   3、使用列表做索引,还有一个很大好处,就是数据结构简单。如果使用ZSET做分页查询,确实可以做大分页查看,但是ZSET本身有其限制的地方,导致如果查询内容不是KEY-SCORE类型,则另外还需要一个结构,以便实现查询。

 

2、基于ZSET的分页缓存实现

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM