在Redis中使用数据库实现命名空间有什么缺点和优点?

时间:2014-03-31 19:32:51

标签: python database namespaces redis database-connection

尝试以简单且(有些)可扩展的方式组织我们的Redis键空间,我们发现了一个有趣的机制:数据库。这个想法是指一个名称(比如说person)到一个数据库号,比如0。然后,名称空间person上的所有操作都将放在数据库0上。

这样做的缺点和优点是什么?还有更好的方法吗?

P.S。:我们正在使用Python 2.7

非常感谢!

1 个答案:

答案 0 :(得分:2)

强烈建议不要使用多个Redis数据库。

不要在制作中使用它,如果它不是必需品(例如,当您处理端口范围限制,托管redis等时)

请参阅this帖子。

我们所有的redis实例都有以下配置参数:

databases 1

我们如何处理这个问题,如下:

我们碎片。我们首先连接到一个小的redis实例,它只包含连接字符串。给定上下文/环境,我们连接到几个redis实例。大多数客户端有4个连接:1个用于连接池,1个用于只读配置设置,1个用于读取批量数据,1个用于写入批量数据。我们把哨兵放在适当的地方。

我们使用Lua脚本将所有内容组合在一起。有关一般要点,请参阅此diagram

希望这有帮助,TW

相关问题