实时

用memcached做实时分页缓存

末鹿安然 提交于 2019-12-19 14:07:55
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 用 memcached 做分页缓存,可能很多人会觉得麻烦而不用。因为在增加、修改、删除的过程中,你不知道会影响到哪些数据,而如果把所有分页相关的数据缓存都删除并重新生成一遍,实现又很麻烦,甚至不可行,所以干脆就用 mysql 直接分页,简单方便,但是这样性能却也下降了。 本章就讲一个简单的实现用 memcached 做分页缓存的方法。 首 先假使我们有一个文章页需要做分页显示,分页类型有按分类分页,按最新分页,按热点分页,按自定义方式分页,等等。这就出现了一个比较棘手的问题,我们对 数据的更新影响到哪些分页我们是不可知的,不知道需要删除哪些相关的缓存。你可能会想,更新数据时删除所有类型分页的缓存不就好了。那我问你,有多少种分 页类型,每个类型各有多少页, key 的组成方式各是什么,如果分页带有其他 get 查询参数,你怎么知道 get 都传递了哪些值,不知道这些,你怎么删除全部分页缓存。 讲到这里,你可能会觉得有点失望吧,不是吗,没想到用 memcached 做 分页缓存原来这么麻烦。那么,有没有简单的解决方案?答案是肯定的,请相信,我写这篇文章的目的,就是来告诉你一个简单的解决方案来的。说了这么多,其实 我们需要解决的核心问题就只有一个,我们增加、修改、删除文章数据时,能够让分页的缓存都失效