Pacific73 / gorm-cache

gorm v2的即插即用、无需修改代码的旁路缓存。An easy-to-use look-aside cache solution for gorm v2 users.
Apache License 2.0
112 stars 29 forks source link

请问怎么主动删除某个缓存数据 #7

Closed coverthesea closed 1 year ago

coverthesea commented 2 years ago

我们这边系统是分布式的,存在一个,其他服务更改了缓存数据,广播通知其他服务更新缓存

请问怎么主动删除某个表的缓存数据呢

Pacific73 commented 2 years ago

如果是分布式系统共用一个GormCache,由于instanceid不同,虽然共用一个redis,但其实数据是互相隔离的。要适配你的需求,需要做二次开发。首先,各分布式主机共用一个instanceid。其次,GormCache类中有invalidate方法,要删除某表的数据,对于searchCache直接调用InvalidateSearchCache方法即可。对于PrimaryCache,需要自己扩展一个方法来删除对应的key,其中会用到redis的keys指令