python - 如何使用python在redis中创建嵌套结构?

标签 python redis redis-py

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 本身不支持任意嵌套的数据结构。相反,它有一些( map 、列表、队列)。任何更复杂的东西,您都需要分解成这些结构。

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

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

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

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

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

关于python - 如何使用python在redis中创建嵌套结构?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47637853/

相关文章:

python - 如何遍历 numpy 数组并删除异常?

mysql - SpringBoot Redis 集成测试

redis - 使用以 Redis 为后端的 Spring Session 时,默认 session 超时是多少以及如何配置它?

python - 名称错误 : name 'redis' is not defined - PySpark - Redis

python - redis.exceptions.ConnectionError 在 celery 运行大约一天后

python - 哨兵自动发现master

Python 用户界面 - 自定义

Python 2.7 与 BeautifulSoup 错误 : Cannot process flags argument with a compiled pattern

php - 为windows编译phpredis

python - Python 的可嵌入工作流/BPM 库?