首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Laravel Redis缓存

Laravel Redis缓存
EN

Stack Overflow用户
提问于 2016-06-05 12:19:08
回答 1查看 277关注 0票数 0

我现在正在做一个大项目,我们决定在我们的系统中使用redis作为缓存,所以当我们将一些数据放在缓存中,然后原始数据被更改时,我们怎么知道呢?在这种情况下,最好的做法是什么?删除旧数据并替换新数据?是否有任何机制只取代已更改的部分?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-06-05 15:50:47

在使用redis为大型应用程序缓存时,要记住的几件事:

1)尽可能地定位您的缓存。例如,如果您为每个需要缓存的用户提供了5个信息。与其一起访问它们,不如对每个信息进行简单的缓存。

2)选择合适的数据结构。尽可能使用redis‘set、散列、排序集和位操作。

3)确保您的系统能够正常工作,即使没有redis (以克服停机时间)。也就是说,签入redis是否有服务,如果没有从dB获得并填充在缓存中。这样,即使redis不可用,您也可以从DB获得值。

要回答你的问题,你可以用三种方法来回答

1)您可以在DB旁边维护缓存。在DB中事务成功期间,更新缓存。这样你就不会泄露任何信息。但是要实现这一点有点困难。

2)每当事务开始时,drop缓存就属于它。这样,缓存中的值将被删除,并将在连续的读取请求期间从DB中获取。

3)在缓存和数据库中保持上次访问或创建的时间。每次阅读时,对它们进行比较并作出决定。这是最可靠的解决办法。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37641810

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档