redis实现文章列表+分页
2022-05-28Redis
在新闻系统中很常见的功能是最新的十条新闻,下一页之后显示后十条,再下一页又十条,直至没有数据。以前常见的做法是制成静态页面缓存,但是更新时又要重建静态页面缓存。本章我们演示用 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);
很赞哦! ()