【问题标题】:How to create nested structure in redis using python?如何使用python在redis中创建嵌套结构?
【发布时间】:2018-05-18 04:24:18
【问题描述】:
redis = {}
        redis['A'] = {}
        redis['A']['1'] = value1
        redis['A']['2'] = value2
        redis['A']['3'] = value3

我需要使用 python 在 redis 中制作上述结构。 我已经在 python 中使用 redis-py 客户端建立了连接,如下所示:

_connection = redis.StrictRedis(host='localhost', port=6379, db=0)

请告诉我如何使用python在redis中创建、存储和获取值?

【问题讨论】:

  • 请向我们展示您的尝试。
  • redis = { 'A' : { '1' : value1, '2' : value2, '3' : value3}}?

标签: python redis redis-py


【解决方案1】:

重要的是要知道 Redis 本身不支持任意嵌套的数据结构。相反,它有一些(地图、列表、队列)。任何更复杂的东西,你都需要分解成这些结构。

现在如果你只关心两层嵌套,那么你可以使用HMAP 支持。见HSETHGET

在您的示例中,HMAP 的名称将是 'A',而 123 将是键。

另请注意,Redis 仅支持二进制和字符串键/值。因此,您需要决定是以str(x) 形式存储密钥,还是以二进制编码 (x.to_bytes(4, byteorder = 'big')

我留给你弄清楚如何将它映射到 python 客户端的 API——它们倾向于忠实地匹配逻辑操作。例如,

_connection.hget('A', '1')

【讨论】:

    猜你喜欢
    • 2020-11-08
    • 1970-01-01
    • 1970-01-01
    • 2014-03-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-26
    • 1970-01-01
    相关资源
    最近更新 更多