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); 很赞哦! ()
