在运行时定义Redis数据库

时间:2019-03-03 01:17:05

标签: python python-3.x redis redis-py

我正在使用Python的Redis客户端Redis-py。 GitHub库位于https://github.com/andymccurdy/redis-py。我想知道是否可以在运行时设置Redis数据库初始化值。例如,如果我有一个名为db的全局变量,并且想根据配置(开发,测试,生产等)更改db的值,有什么办法可以做到这一点? 。 Redispy仅提供构造函数,但不提供任何在运行时进行初始化的方法。

执行此操作的一种方法是将全局变量db定义为None,然后使用函数将db变量设置为正确的redis db。但是,我实际上是在尝试避免使用global关键字/在函数中更改全局变量。还有什么其他方法可以做到这一点?

1 个答案:

答案 0 :(得分:1)

目前尚不清楚您是在动态更改 client 配置还是 server 配置。

如果要更改客户端配置,只需通过实例化Redis对象的新实例来创建新连接。您可以在documentation中看到一个示例:

>>> r = redis.Redis(host='localhost', port=6379, db=0)

如果您要“更改” db,只需使用新的Redis值创建一个新的连接(即db对象)。

如果您正在谈论动态更改Redis服务器的配置,则可以使用CONFIG SET命令来实现。