选择redis数据库,select 1,select 2
但是在python中是怎么操作的?我只知道r = redis.Redis(host='localhost',port=6379,db=0)
这个db如何切换,难道每次都要redis.Redis(host='localhost',port=6379,db=1),redis.Redis(host='localhost',port=6379,db=2)吗
是的,目前只能这样。
原因是redis-py为了保证Redis实例的线程安全,没有实现SELECT指令
Redis 客户端实例可以安全地在线程间共享。从内部实现来说,只有在命令执行时才获取连接实例,完成后直接返回连接池,命令永不修改客户端实例的状态。但是,有一点需要注意:SELECT 命令。SELECT 命令允许切换当前连接使用的数据库。新的数据库保持被选中状态,直到选中另一个数据库或连接关闭。这会导致在返回连接池时,连接可能指定了别的数据库。因此,redis-py 没有在客户端实例中实现 SELECT 命令。如果要在同一个应用中使用多个 Redis 数据库,应该给第一个数据库创建独立的客户端实例(可能也需要独立的连接池)。
分享数据库前沿,解构实战干货,推动数据库技术变革