首页 新闻 会员 周边 捐助

Memcache 如何按通配符删除缓存

0
悬赏园豆:10 [已解决问题] 解决于 2019-08-28 19:25

在 Memcache 中存储了很多分页数据,key 的定义如下

$"project_{userId}_{page}_{size}"

当新增或者修改一个记录的时候,需要清除这些缓存。

但是 Memcache 不支持按照通配删除,那么如何删除缓存呢?

stackoverflow 上有人使用 Namespace 删除,实现原理就是给相关的 Key 加上 version,通过改变 version 的值达到“删除”的效果。

这种方式还是比较麻烦,请问有更好的方式实现吗?

蝌蝌的主页 蝌蝌 | 初学一级 | 园豆:158
提问于:2019-04-24 12:25
< >
分享
最佳答案
0

可以用笨方法,如果有100页,就删除100次

收获园豆:10
dudu | 高人七级 |园豆:29570 | 2019-04-24 12:54

不仅不知道有多少页,也不知道每页多少条

蝌蝌 | 园豆:158 (初学一级) | 2019-04-24 12:56

@蝌蝌: 我通常在分页列表中将总页数限制为200,过多的页数除了给别人爬网带来方便,其他没发现什么好处

dudu | 园豆:29570 (高人七级) | 2019-04-24 13:20

@蝌蝌: 或者用一个缓冲项专门保存页数或者需要清除的缓存key

dudu | 园豆:29570 (高人七级) | 2019-04-24 13:28
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册