似乎没有一个
Keys(...)
或者
Scan(...)
方法? 如何查询数据库中存在哪些键?
似乎没有一个
Flush(...)
方法?如何删除数据库中的所有的键?
很奇怪的是,这里的最后一个关键词是数据库。
因为StackExchange.Redis的目标是针对集群等场景,知道哪些命令针对
数据库
(可以是分布在多个节点上的逻辑数据库)以及哪些命令针对
服务器
是很重要的。
以下命令都针对单个服务器:
KEYS
/
SCAN
FLUSHDB
/
FLUSHALL
RANDOMKEY
CLIENT
CLUSTER
CONFIG
/
INFO
/
TIME
SLAVEOF
SAVE
/
BGSAVE
/
LASTSAVE
SCRIPT
(不要混淆
EVAL
/
EVALSHA
)
SHUTDOWN
SLOWLOG
PUBSUB
(不要混淆
PUBLISH
/
SUBSCRIBE
/ 等)
一些
DEBUG
操作
(我可能错过了至少一个)大多数这些将显得很明显,但前3行不那么明显:
KEYS
/
SCAN
只列出当前服务器上的键; 而不是更广泛的逻辑数据库
FLUSHDB
/
FLUSHALL
只删除当前服务器上的密钥;而不是更广泛的逻辑数据库
RANDOMKEY
仅选择当前服务器上的密钥; 而不是更广泛的逻辑数据库
实际上,StackExchange.Redis 通过简单地随机选择目标服务器来欺骗
IDatabase
API上的
RANDOMKEY
,但这对其他服务器是不可能的。