您好,匿名用户
随意问技术百科期待您的加入

如何维护 key-value 缓存

0 投票

做web,经常会用到key-value的缓存,虽然快,但缓存的维护是个问题,就拿sgementfault举例来说,如果我来做,首页的问题分页就涉及到
1.问题总数缓存
2.每页问题清单缓存

现在管理员删除了一个问题,那么为满足实时性,肯定需要更新缓存
1.问题总数缓存-1
2.每页问题清单缓存如何更新?
当然可以查数据库算出来,是否有这个必要?

这只是个例子,为了说明问题,为了更新一个缓存而造成了另外的数据库查询开销。在实际过程中,我经常用查询条件的组合作为key,这使得我在更新缓存时无从下手(虽然我自己手工维护了一个缓存key的清单,但难免会有遗漏,终归不是好办法)。但如果把缓存的key都定义死,则缓存的使用不是那么灵活。

用户头像 提问 2012年 12月1日 @ Lulu 上等兵 (293 威望)
分享到:

1个回答

0 投票

建议如此处理:

1. 问题总数缓存

$memcached->increment('sum', $sum);

参考:http://www.php.net/manual/zh/memcache...

2.每页问题清单缓存如何更新?

没有细想,如果是我的话可能会用一个end_id作为结束戳,然后有新的问题过来就向前递增,每100+汇总一次刷新,主要还是看量,脱离了量的情况下不好判断(开始小的情况下就直接刷db三分钟一次也没问题)

用户头像 回复 2012年 12月1日 @ Zyra 上等兵 (289 威望)
提一个问题:

相关问题

0 投票
1 回复 17 阅读
用户头像 提问 2014年 3月4日 @ Lady 上等兵 (162 威望)
0 投票
1 回复 41 阅读
0 投票
1 回复 101 阅读
用户头像 提问 2012年 12月1日 @ dongxl 上等兵 (120 威望)
0 投票
0 回复 43 阅读
用户头像 提问 2012年 12月1日 @ Virgo 上等兵 (284 威望)
0 投票
1 回复 55 阅读
用户头像 提问 2012年 12月1日 @ Hades 上等兵 (152 威望)

欢迎来到随意问技术百科, 这是一个面向专业开发者的IT问答网站,提供途径助开发者查找IT技术方案,解决程序bug和网站运维难题等。
温馨提示:本网站禁止用户发布与IT技术无关的、粗浅的、毫无意义的或者违法国家法规的等不合理内容,谢谢支持。

欢迎访问随意问技术百科,为了给您提供更好的服务,请及时反馈您的意见。
...