首页 > 解决方案 > 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 的用户会话键中跟踪最新的项目时间,这是可行的,但有点烦人。想知道是否有更好的方法,因为我是后端新手。

标签: mysqldesign-patternsredispaginationbackend

解决方案


推荐阅读