Redis存储分页数据
来源:互联网 发布:淘宝客服泄露买家信息 编辑:程序博客网 时间:2024/06/08 19:28
普通分页
一般分页做缓存都是直接查找出来,按页放到缓存里,但是这种缓存方式有很多缺点。
如缓存不能及时更新,一旦数据有变化,所有的之前的分页缓存都失效了。
比如像微博这样的场景,微博下面现在有一个顶次数的排序。这个用传统的分页方式很难应对。
一种思路
最近想到了另一种思路。
数据以ID为key缓存到Redis里;
把数据ID和排序打分存到Redis的skip list,即zset里;
当查找数据时,先从Redis里的skip list取出对应的分页数据,得到ID列表。
用multi get从redis上一次性把ID列表里的所有数据都取出来。如果有缺少某些ID的数据,再从数据库里查找,再一块返回给用户,并把查出来的数据按ID缓存到Redis里。
在最后一步,可以有一些小技巧:
比如在缺少一些ID数据的情况下,先直接返回给用户,然后前端再用ajax请求缺少的ID的数据,再动态刷新。
一般分页做缓存都是直接查找出来,按页放到缓存里,但是这种缓存方式有很多缺点。
如缓存不能及时更新,一旦数据有变化,所有的之前的分页缓存都失效了。
比如像微博这样的场景,微博下面现在有一个顶次数的排序。这个用传统的分页方式很难应对。
一种思路
最近想到了另一种思路。
数据以ID为key缓存到Redis里;
把数据ID和排序打分存到Redis的skip list,即zset里;
当查找数据时,先从Redis里的skip list取出对应的分页数据,得到ID列表。
用multi get从redis上一次性把ID列表里的所有数据都取出来。如果有缺少某些ID的数据,再从数据库里查找,再一块返回给用户,并把查出来的数据按ID缓存到Redis里。
在最后一步,可以有一些小技巧:
比如在缺少一些ID数据的情况下,先直接返回给用户,然后前端再用ajax请求缺少的ID的数据,再动态刷新。
0 0
- Redis存储分页数据
- redis缓存分页数据
- Redis学习笔记(九)redis实现时时直播列表缓存,支持分页[热点数据存储]
- 数据分页存储过程
- 数据分页 存储过程
- 数据分页 存储过程
- 数据分页存储过程
- 数据分页存储过程
- Redis 数据存储
- 数据存储---REDIS cluster
- 4 Springboot中使用redis存储集合数据,并模拟条件查询、分页读取
- 大量数据分页存储过程
- 数据分页的存储过程
- 海量数据分页存储过程
- 存储过程进行数据分页
- 用Redis存储大量数据
- redis的数据存储形式
- Redis热数据存储问题
- 并查集(Union-Find)算法介绍
- C中参数个数可变的函数
- 'Running Android Lint' has encountered a problem.解决方法
- 把word文档格式在线转成pdf格式
- osg程序运行时出现缺少zlibd1.dll 程序无法运行
- Redis存储分页数据
- AsyncTask案例——异步加载一张图片并显示进度条
- Gulp详解
- 欢迎使用CSDN-markdown编辑器
- 浅析PC机串口通讯流控制
- POJ 3723 Conscription(最小生成树-Kruskal)
- 分布式软件体系结构风格(C/S,B/S)
- Unity3D组件
- Qt中国象棋