C# BookSleve Del redis键的通配符

C# BookSleve Del redis键的通配符,c#,redis,booksleeve,C#,Redis,Booksleeve,我看到了这个关于从redis usign通配符中删除密钥的示例 You can delete multiple keys with just one DEL command DEL key1 key2 key3...... You can also delete all keys matching an expression this way redis-cli KEYS "temp_cart:user*" | xargs redis-cli DEL 假设我有钥匙:钥匙1A,钥匙2B,

我看到了这个关于从redis usign通配符中删除密钥的示例

You can delete multiple keys with just one DEL command

DEL key1 key2 key3......


You can also delete all keys matching an expression this way

redis-cli KEYS "temp_cart:user*" | xargs redis-cli DEL
假设我有钥匙:钥匙1A,钥匙2B,钥匙7A。。。。我想删除所有以key开头的内容*

我如何告诉booksleve这样做?当我用“keys*”将字符串传递到它的invalidate函数时,它似乎没有起作用。


Redis没有“通过通配符删除”操作。还请注意,在生产中不应使用
。最坏的情况下,您应该使用
扫描
。幸运的是,BookSleeve和SE.Redis在可用时会自动使用
SCAN
。为此,您必须迭代(通过
SCAN
)并发出multilple
DEL
命令。值得注意的是,这正是
xargs
在您的示例中所做的。

Booksleve不能做的比Redis本身更多。命令redis cli键“temp_cart:user*”| xargs redis cli DEL不会按原样发送到redis。实际上,它的核心是由shell执行的,如下所示:向Redis发送键“temp_cart:user*”,读取结果,循环遍历每个结果,并执行Redis cli DEL。(我不擅长unix,但你应该明白这一点)。我会尝试研究EVAL命令,但不确定,因为我从未使用过它。因此,如果不应该使用KEYS _redisClient.KEYS.Find(0,“key*”)来搜索通配符键匹配,我如何在booksleve中使用SCAN?你有上述问题的例子吗?@Justin,正如我所说:booksleve和StackExchange.Redis都会在可用时自动尝试使用
SCAN
;您可以使用
查找
,但您可能希望通过
监视器
验证它使用的是
扫描
,而不是