是否有一种有效的方法来计算Redis群集上特定的键类?
此处,'特定类别的键'指用于共同目的的密钥;例如,会话密钥。它们可以具有公共密钥名称前缀。可以有多个班级。从现在开始,我将把键类简称为键。
我想做的事情如下:
我已阅读文档,但找不到合适的解决方案。
提前致谢。
答案 0 :(得分:1)
不,基本上。对于" classic"并不存在。 (非集群),或者。要在没有其他存储机制的情况下执行此操作,您需要重复使用SCAN
来迭代整个键空间。幸运的是,它至少接受了一个过滤器(因此您不需要获取每个密钥),但效率很低 - 您通常只会定期执行此操作作为审阅功能,而不是操作功能。我们实际上在" opserver"的redis插件中包含了这样的功能。
切换到群集时,您需要在每组复制垂直中重复此操作。您通常会通过CLUSTER
命令获取该列表,因此节点的动态特性没有实际意义。
在经典和群集中,建议仅在副本上执行此操作 - 而不是主副本。而且:仅作为管理工具,而不是作为系统的常规部分。
请勿使用KEYS
执行此操作。喜欢SCAN
。