标签: python database namespaces redis database-connection
尝试以简单且(有些)可扩展的方式组织我们的Redis键空间,我们发现了一个有趣的机制:数据库。这个想法是指一个名称(比如说person)到一个数据库号,比如0。然后,名称空间person上的所有操作都将放在数据库0上。
person
0
这样做的缺点和优点是什么?还有更好的方法吗?
P.S。:我们正在使用Python 2.7。
Python 2.7
非常感谢!
答案 0 :(得分:2)
强烈建议不要使用多个Redis数据库。
不要在制作中使用它,如果它不是必需品(例如,当您处理端口范围限制,托管redis等时)
请参阅this帖子。
我们所有的redis实例都有以下配置参数:
databases 1
我们如何处理这个问题,如下:
我们碎片。我们首先连接到一个小的redis实例,它只包含连接字符串。给定上下文/环境,我们连接到几个redis实例。大多数客户端有4个连接:1个用于连接池,1个用于只读配置设置,1个用于读取批量数据,1个用于写入批量数据。我们把哨兵放在适当的地方。
我们使用Lua脚本将所有内容组合在一起。有关一般要点,请参阅此diagram。
希望这有帮助,TW