小编典典

如何在Redis中批量删除数十万个带有特殊字符的键

redis

我们有数十万个Redis键的列表,其中包含各种特殊字符,我们希望将其批量删除。

但是,对于以下情况,我似乎找不到答案:

  1. 我们有大量的钥匙(数十万个)
  2. 键具有各种特殊字符,例如双引号(“),反斜杠(),各种奇怪的Unicode字符等。
  3. 我们正在使用Windows Redis-Cli客户端
  4. 奖励:理想情况下,我们可以在MULTI / EXEC事务中发出此命令,因此我们也可以自动删除SET和键。

如果我们可以像下面这样做,但是让它处理所有带Redis问题的特殊字符的键,我将很喜欢:

redis-cli SMEMBERS "myGiganticListOfKeys" | xargs --delim='\n' redis-cli DEL

不幸的是,这只会产生以下错误:

"C:/Program Files (x86)/Git/bin/xargs.exe": redis-cli: Bad file number

我认为,如果键中没有特殊字符,则可以使用此功能。

非常感谢。


阅读 729

收藏
2020-06-20

共1个答案

小编典典

您应该尝试使用功能更强大的客户端创建应用程序。请参阅客户端列表。redis-cli是一个非常基本的命令行实用程序,仅用于破解/播放Redis。

我同意您的意见,最好的办法是重新设计您的键/值存储。

如果需要使多个键无效,请考虑使用标记机制:添加键时,使用哈希将标记按键分组,然后使整个标记无效,从而删除哈希中的所有键。

2020-06-20