我打算使用Redis进行缓存。除了基本缓存之外,还有一个特殊要求:解决方案必须能够通过“额外密钥”使缓存项无效;这些是具有id的业务实体类型的集合,实际上是KVP。示例:client:12345
或account:4567
。可以存在与缓存项相关联的多个KVP,并且可以仅提供KVP集合来调用缓存失效。只有那些项目是与所有给定的额外关键标准匹配的无效主题(一步)。
我正在考虑将标准缓存与集合相结合,如下所示:
SET key1 value1
,SET key2 value2
SADD client:1234 key1 key2
,SADD account:4567 key2
,SADD card:987 key2
SMEMBERS account:4567
然后DEL account:4567
SINTER account:4567 client:1234
给出的所有密钥,然后SREM
来自帐户:4567和客户端:1234 它是否足够好(在性能和稳定性方面),还是有更好的方法来做到这一点?