Johnny 缓存适用于只读数据表或很少更新数据的表,例如游戏元表。它具有表级版本控制,如果目标表上发生更新,它将自动使目标表上的查询缓存过期。
对于类似 SNS 的应用程序,UGC 通常可以通过 user_id 进行分片,并且缓存通常在每个用户级别完成,所以我正在考虑将自动版本控制机制从表级别更改为用户级别,例如表级别,一个键在概念上看起来像
“jc _ {表名} _ {表版本} _ {查询哈希}”
对于它想要的用户级密钥
“jc_{表名}_{”表+{用户ID}”_版本}_{查询哈希}”
假设缓存是在特定用户的表视图上完成的(考虑到“select * from table where user_id=111”的视图作为 johnny-cache 工作的表)。然后它可以用于以统一的方式缓存大部分 UGC。
我知道没有解决所有问题的灵丹妙药,但对于这个建议,你能和我分享任何信息或建议吗?提前致谢。