推广 热搜: 广场  Java  app  Word  营业  微信公众号  北京代理记账  商城  代理记账  商标交易 

redis缓存在项目中的使用 Redis可以作为一个数据库使用吗?

   2023-05-07 企业服务招财猫20
核心提示:Redis可以作为一个数据库使用吗?R分布式redis缓存如何部署使用?我的标题号在一篇文章中有详细讨论希望对你有帮助。redis怎么缓存用户列表,做到可以分页展示?普通寻呼一般是直接找到分页缓存,按

Redis可以作为一个数据库使用吗?

R

分布式redis缓存如何部署使用?

我的标题号在一篇文章中有详细讨论

希望对你有帮助。

redis怎么缓存用户列表,做到可以分页展示?

普通寻呼

一般是直接找到分页缓存,按页放入缓存,但是这种缓存有很多缺点。

如果缓存不能及时更新,一旦数据发生变化,之前的所有分页缓存都将失效。

比如微博这样的场景,现在微博下面有一个排名靠前的。这在传统的分页中很难处理。

思路

最近想到了另一种思路。

数据缓存在Redis中,ID作为键;

将数据ID和排序分数存储在Redis的跳转列表中,即zset

查找数据时,先从Redis中的skiplist中取出对应的分页数据,得到ID列表。

使用multiget一次从redis中获取ID列表中的所有数据。如果有任何数据缺少某个ID,就从数据库中查找,再次返回给用户,并根据ID在Redis中缓存找到的数据。

在最后一步,你可以有一些提示:

比如在某些ID数据缺失的情况下,直接先返回给用户,然后前端用ajax请求缺失的ID数据,再动态刷新。

还有一些优化可能会使用Lua脚本合并操作,但考虑到Lua脚本运行速度较慢,可能需要仔细测试。

如果使用Lua脚本,可以在一个请求中完成以下操作:

查找一个页面上的所有文章,返回缓存文章的ID和内容,以及未缓存文章的ID列表。

其他事情:

Lua支持LRU模式,也就是说,它像Memcached一样工作。但似乎我还没有没见过有人这样用,很奇怪。

可能redis已经准备好存储了,我不知道不要担心记忆的容量。

 
反对 0举报 0 收藏 0 打赏 0评论 0
 
更多>同类资讯
推荐图文
推荐资讯
点击排行
合作伙伴
网站首页  |  关于我们  |  联系方式  |  使用协议  |  版权隐私  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报  |  冀ICP备2023006999号-8