企业🤖AI Agent构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
在新闻系统中很常见的功能是最新的十条新闻,下一页之后显示后十条,再下一页又十条,直至没有数据。以前常见的做法是制成静态页面缓存,但是更新时又要重建静态页面缓存。本章我们演示用 Redis 的列表数据结构来制作文章列表和分页功能。 ## 创建数据并存入 Redis 模型事件,篇幅原因不表述非常普通的创建操作了 ~~~ <?php namespace app\index\model; use think\Model; class Article extends Model { protected $autoWriteTimestamp = 'datetime'; protected static function init() { // 数据创建成功后将数据保存到 Redis self::event('after_insert', function ($event) { $redis = new \Redis(); $redis->connect('127.0.0.1', 6379); $redis->lPush('lists', $event); }); } } ~~~ ## 读取 Redis 中列表及分页 ~~~ // 获取页码 $page = Request::instance()->get('page', 1); // 每页条数 $list_rows = 10; 从集合中拿出数据 $lists = $redis->lRange('lists', $page * $list_rows - $list_rows, $page + $list_rows); var_dump($lists); ~~~