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

如果分库的情况下如何删除某个具体的库的具体的表的缓存呢? #13

Closed coverthesea closed 1 year ago

coverthesea commented 1 year ago

实际使用情况是分库使用的 库1 : db_1.test表 库2 : db_2.test表 ... 这个会不断扩展 但是都是从同一个gorm的对象去操作的,使用之前,根据业务,db.Table(tableName),去设置哪个库和表名 问题1:当我查询db_1和db_2的表数据,缓存的,是分开2份缓存吗?不会串数据吧 问题2:当我要InvalidateSearchCache去删除缓存的时候,我怎么精准的删除db_2的test表缓存?而不影响db_1.test表?

Pacific73 commented 1 year ago

问题1:如果在一台机器上,查询2个库,你会使用2个gorm.DB对象。在声明cache时,也应该声明2个cache实例,然后attach到对应的gorm.DB实例上。这样不会串数据 问题2:不同cache实例之间的缓存空间是彼此隔离的,不会互相影响的。