做web,经常会用到key-value的缓存,虽然快,但缓存的维护是个问题,就拿一个社区t举例来说,如果我来做,首页的问题分页就涉及到
1.问题总数缓存
2.每页问题清单缓存
现在管理员删除了一个问题,那么为满足实时性,肯定需要更新缓存
1.问题总数缓存-1
2.每页问题清单缓存如何更新?
当然可以查数据库算出来,是否有这个必要?
这只是个例子,为了说明问题,为了更新一个缓存而造成了另外的数据库查询开销。在实际过程中,我经常用查询条件的组合作为key,这使得我在更新缓存时无从下手。但如果把缓存的key都定义死,则缓存的使用不是那么灵活。
请问大家有什么好的建议?
使用缓存主要目的是为了减轻数据库的压力,过于频繁的更新缓存是不太合理的。
一、放弃实时性,当数据到达某个定义的阀值时更新缓存。
二、使用搜索引擎如sphinx的实时增量索引。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。