当前位置: 首页 > 面试题库 >

在Redis中,如何删除密钥?

傅翰池
2023-03-14
问题内容

我想删除与“用户*”匹配的键。

我如何在Redis命令行中做到这一点?


问题答案:

此功能目前无法一口气完成(请参阅DEL文档中的注释)。不幸的是,您只能使用KEYS,遍历结果,然后使用DEL来删除每个结果。

怎么样使用bash来帮助?

for key in `echo 'KEYS user*' | redis-cli | awk '{print $1}'`
 do echo DEL $key
done | redis-cli

要逐步执行:

  1. echo 'KEYS user*' | redis-cli | awk '{print $1}' -获取所有键并使用awk删除不需要的多余文本。
  2. echo DEL $key -为每一个创建一个echo语句以将其删除。
  3. | redis-cli -使用DEL语句,然后将它们传递回cli。

不建议这样做是最好的方法(如果您的某些用户名中包含空格,则可能会遇到问题,但希望您能理解这一点)。



 类似资料:
  • 问题内容: 我在C#中安装了Stack Exchange redis客户端。我只能删除一个键或键数组,但不知道如何删除带前缀的键。或者另一个解决方案是先按模式获取所有密钥,然后将其删除。但是我也不知道如何通过模式来获取密钥。 问题答案: 删除操作由键分开,除非要刷新整个数据库。 密钥扫描在API 上很容易获得,并且在这里进行了更多讨论:https : //stackexchange.github.

  • 这是我的DynamoDB JSON 我需要删除从数据库所以我累了这个... 我得到以下错误... botocore.exceptions.ClientError:调用UpdateItem操作时发生错误(ValidationException):无效的UpdateExpression:语法错误;令牌:“=”,靠近:“跟踪的用户=:跟踪的用户”

  • 问题内容: 我已经打电话给其中包含。 迭代地图时,如果与指定的字符串匹配,则需要从地图中删除键。 即 包含,但我无法从中删除密钥。 而是得到错误: 问题答案: 尝试: 使用Java 1.8及更高版本,您只需一行即可完成上述操作:

  • 问题内容: 我要删除所有密钥。我希望一切都消灭,然后给我一个空白的数据库。 有没有办法在Redis客户端中做到这一点? 问题答案: 使用redis-cli: FLUSHDB –从连接的当前数据库中删除所有密钥。 FLUSHALL –从所有数据库中删除所有键。 例如,在您的shell中:

  • 问题内容: 我正在开发一个Android项目,该项目需要JSONObject作为POST请求的主体。放置JSON的键和值后,我得到了以下代码行: 但是服务器得到以下信息: 我已经尝试过JSONStringer,但是它的帮助并不大,因为的请求是。 更新 我不尝试构造JSONObject,因为已经通过使用以下代码行(由@osayilgan给出的代码)完成了此操作: 这不是问题。下述接口用于与服务器通信

  • 问题内容: 关闭。 这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,使其成为Stack Overflow 的主题。 7年前关闭。 我想删除本地用户root的密码。我怎样才能做到这一点?我错误地设置了root用户的密码。这就是为什么phpmyadmin给出错误: 问题答案: 您需要将密码设置为空白。有两种方法: MySQL 命令: 使用命令行工具: