不言不语

您现在的位置是: 首页 >  数据库  >  Redis

Redis

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);


文章评论