You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Redis数据获取报WRONGTYPE错误,如何获取目标键对应值?

解决Redis WRONGTYPE错误的方法

这个错误的核心原因很明确:你调用的get()方法仅适用于读取字符串类型的Redis键值,但asgi:group:348对应的并不是字符串类型数据,因此触发类型不匹配错误。

解决步骤:

  1. 先确认键的数据类型
    执行以下代码查询目标键的具体类型:

    print(self.redis.type("asgi:group:348"))
    

    返回结果会是b'hash'、b'list'、b'set'这类标识,对应Redis的不同数据类型。

  2. 根据类型使用对应读取方法

    • 如果是哈希(hash)类型:用hgetall()获取所有键值对,或hget()获取单个字段
      # 获取哈希全部内容
      print(self.redis.hgetall("asgi:group:348"))
      # 获取哈希指定字段的值
      print(self.redis.hget("asgi:group:348", "目标字段名"))
      
    • 如果是列表(list)类型:用lrange()获取全部元素(0到-1表示取所有)
      print(self.redis.lrange("asgi:group:348", 0, -1))
      
    • 如果是集合(set)类型:用smembers()获取所有成员
      print(self.redis.smembers("asgi:group:348"))
      
    • 如果是有序集合(zset)类型:用zrange()按排名获取成员,或zrangebyscore()按分数范围获取
      # 获取所有成员及对应分数
      print(self.redis.zrange("asgi:group:348", 0, -1, withscores=True))
      
    • 如果是流(stream)类型:用xrange()获取流内消息
      print(self.redis.xrange("asgi:group:348", min="-", max="+"))
      

内容的提问来源于stack exchange,提问作者whitebear

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.14 02:37:08