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

能否在Redis中存储键名相同但数据不同的内容?

Redis相同键名存储多组数据的方案

Redis的键名是全局唯一的,直接用相同键名存储两组不同数据的话,后写入的数据会覆盖掉之前的,所以不能直接这么存。但可以通过以下几种方式实现多组数据的存储:

  • 使用Redis的**哈希(Hash)**结构:把原来的键作为哈希表的名称,每组数据的标识作为哈希的field,对应的数据作为value。示例命令:

    HSET myhash group1 '{"name": "data1"}'
    HSET myhash group2 '{"name": "data2"}'
    

    后续可通过HGET myhash group1单独获取某组数据,或用HGETALL myhash获取所有组的数据。

  • 使用键名前缀/后缀区分:给原键名添加不同的标识后缀或前缀,将其拆分为两个独立的键。示例命令:

    SET mykey:group1 '{"name": "data1"}'
    SET mykey:group2 '{"name": "data2"}'
    

    后续可通过KEYS mykey:*匹配所有相关键,再逐个获取对应数据。

  • 使用**列表(List)**结构:如果两组数据无需单独标识,仅需按顺序存储,可将数据依次推入列表。示例命令:

    LPUSH mylist '{"name": "data1"}'
    LPUSH mylist '{"name": "data2"}'
    

    用LRANGE mylist 0 -1可取出所有数据,这种方式适合顺序访问的场景,但无法直接定位某一组数据。

内容的提问来源于stack exchange,提问作者J.J. Beam

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.10 08:08:10