KEYS
, SCAN
, FLUSHDB
这些在哪里?
或者
很奇怪的是,这里的最后一个关键词是数据库。
因为StackExchange.Redis的目标是针对集群等场景,知道哪些命令针对 数据库 (可以是分布在多个节点上的逻辑数据库)以及哪些命令针对 服务器 是很重要的。
以下命令都针对单个服务器:
KEYS
/SCAN
FLUSHDB
/FLUSHALL
CLIENT
CLUSTER
CONFIG
/INFO
/SLAVEOF
SAVE
/BGSAVE
/LASTSAVE
SHUTDOWN
SLOWLOG
PUBSUB
(不要混淆PUBLISH
/SUBSCRIBE
/ 等)- 一些
DEBUG
操作
(我可能错过了至少一个)大多数这些将显得很明显,但前3行不那么明显:
KEYS
/SCAN
只列出当前服务器上的键; 而不是更广泛的逻辑数据库- 仅选择当前服务器上的密钥; 而不是更广泛的逻辑数据库
最简单的:从服务器开始,而不是数据库。
注意,与 IDatabase
API(在 GetDatabase()
调用中已经选择了的目标数据库)不同,这些方法对数据库使用可选参数,或者默认为0
。
不,不完全是。 你可以使用 conn.GetEndPoints()
来列出节点(所有已知的节点,或者在原始配置中指定的节点,这些不一定是相同的东西),并且使用 GetServer()
迭代找到想要的服务器(例如,选择一个从节点)。