redis做带分页的列表缓存

本文介绍了一种利用Redis和Memcache结合的方式优化网站列表缓存的方法。通过将文章ID及逻辑关系存储在Redis中,而文章的具体内容和点击数则存储在Memcache中。详细讲述了如何实现列表的增删改查操作,以及如何通过分页获取数据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近的工作是优化网站的列表缓存 采用的是redis+memcache结构 redis只存文章ID号及逻辑关系 memcache存单篇文章的信息、内容及点击数 redis和memcache采用的都是主动缓存模式,在通常情况下,缓存时间不设时限,并且不主动读取mysql数据库,所有的数据从缓存中读取 列表缓存需求:不同分类及所有分类的文章列表,带分页功能 redis使用lists存储不同的分类列表 例: news_list_1: 表示存放文章cid为1的列表的key,值为id号 new_list_1:2:3:4:5 表示存放文章cid为1,2,3,4,5的全部文章列表的key 压数据:从mysql中按排序要求把这些文章的ID号摄取出来,从底部开始压入按cid命名的lists中 添加新篇文章后,把新的文章id压入最上面,然后从mysql中,按顺序读取这个ID上面有多少篇文章,决定交换多少次的次数n 然后把新的文章ID(因为压在最上页,index为0)与下面的index 一个一个交换值 ,一共交换上面从mysql得到的次数n 修改排序方法同新加。先删除,然后把ID压到最上面,最后把这个ID下沉到指定位置 删除ID就简单了,直接可以使用lists的删除命令,通过value删除 需要使用分页,则主要是使用命令 LRANGE key start end 指定开始的index及结束的index.按分页要求取一段数据 然后把取到这的段ID数组,放入memcache中得到文章的标题等信息,最后在php中组成数组,输出。这样一个列表缓存就搞定了
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值