Memcached-memcache怎么实现预热好?
每次应用上线后,前端机nginx做切换,新的应用由于做了对应的更新,肯定不能再使用之前的缓存,但如果切换后流量很大,所有请求都先请求到db,很有可能造成应用缓慢或者直接当掉
有什么好办法能在切换前先让memcache上有数据,使得大部分请求能在缓存层返回?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
缓存要命中率高,肯定要有一些访问模式和热点,要预热就要识别这些热点,这可一根据以前的统计信息来估计。
试过为一个论坛加上缓存,我是直接curl抓帖子列表的前几十页里的帖子,还有最近注册的一大批用户的的信息页面来预热的。后来系统运行久了,缓存也稳定下来之后再看里面缓存了那些数据,才知道各种数据占的比重。
分级缓存 比如,一级缓存 3分钟过期 二级10分钟过期,当一级过期后,第一个请求导致数据更新直接到db取数据,后续的请求去二级取数据,更新完后一级缓存再次接管,二级过期更新时一级处于有效阶段。
还需要更进一步分析,思路仅供参考