【问题标题】:WRONGTYPE Operation against a key holding the wrong kind of value redisWRONGTYPE 对持有错误类型值的键进行操作 redis
【发布时间】:2021-05-25 17:27:57
【问题描述】:

当我在我的 redis 云中直接运行以下 GET 命令时,

GET 1000:125:1603875000

我遇到错误

WRONGTYPE 对持有错误类型值 redis 的键进行操作

当我检查时

type 1000:125:1603875000

给我 哈希

但是如果我在Get之前执行SET,像这样

SET 1000:125:1603875000 11

我在执行 GET 命令时得到“11”。

为什么字符串被认为是Hash?如何使用指定的字符串执行 GET。

【问题讨论】:

    标签: redis


    【解决方案1】:

    那是因为当您将 'SET 1000:125:1603875000' 运行到 11 时,您将覆盖最初的 '1000:125:1603875000' 这是一个哈希值,并且一旦您将 '1000:125:1603875000' 设置为 '11'您可以运行 GET 命令来获取密钥的值。

    要获取 redis 哈希的值,您可以运行 HGETALL 来获取哈希中的所有值,或者运行 HGET KEYNAME 来获取哈希的特定键。

    为了说明这些命令的使用:

    127.0.0.1:6379> HSET employee name Ankit
    (integer) 1
    127.0.0.1:6379> GET employee
    (error) WRONGTYPE Operation against a key holding the wrong kind of value
    127.0.0.1:6379> HGETALL employee
    1) "name"
    2) "Ankit"
    127.0.0.1:6379> HGET employee name
    "Ankit"
    127.0.0.1:6379> SET employee Ankit
    OK
    127.0.0.1:6379> GET employee
    "Ankit"
    127.0.0.1:6379>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-06-01
      • 2016-10-24
      • 2021-04-10
      • 2016-05-04
      • 2019-02-28
      • 2020-10-01
      • 2016-10-23
      • 2015-11-27
      相关资源
      最近更新 更多