mysql - Redis 和 MySQL 分页策略
问题描述
我正在尝试返回最近项目的列表并进行简单的分页。我首先要做的是进行此查询
SELECT * FROM table ORDER BY time LIMIT 300;
然后我将它缓存到一个以时间为分数的 Redis 排序集中。这使我可以有效地进行分页(每页大约 25 个)。我坚持的是,如果某些用户实际上到达了终点,我该怎么办。我只是进行大量的初始查询吗?或者当他们到达终点时我是否会进行另一个这样的查询。
SELECT * FROM table WHERE time < last_item_time ORDER BY time LIMIT 300;
对于后一种策略,似乎我必须在 Redis 的用户会话键中跟踪最新的项目时间,这是可行的,但有点烦人。想知道是否有更好的方法,因为我是后端新手。
解决方案
推荐阅读
- javascript - 从 javascript 停止 npm 浏览器应用程序
- django - Shopify graphQL 查询
- python-2.7 - pygsheets set_dataframe 未被识别
- android - dlopen 失败有文本重定位
- png - 理解 IDAT,阅读 DEFLATE 的动态霍夫曼树
- sql-server - 需要一种编程方式来获取 SQL Server 内置函数的名称、参数和返回类型
- android - 如何在 FCM 中定位某个主题的用户细分?
- java - 在选项卡式活动中显示值
- r - 使用clusterR从大栅格中随机抽样
- html - CSS:让我的侧边栏不在我的其他内容之上