使用Redis在Python中写入多个数据库

13

我想将一些值写入不同的数据库中,以下是我的代码:

import redis

r1 = redis.Redis(host='127.0.0.1', port=6379, db = 'db1')
r2 = redis.Redis(host='127.0.0.1', port=6379, db = 'db2')

numList = ['4', '3', '2', '1']

for num in numList:
   r1.lpush('a', num)
   r2.lpush('a', 'test')

print r1.lrange('a',start=0,end=-1)
print r2.lrange('a',start=0,end=-1)

然后我得到了这个结果:

['test', '1', 'test', '2', 'test', '3', 'test', '4']
['test', '1', 'test', '2', 'test', '3', 'test', '4']

虽然我使用不同的数据库,但对于相同的键,所有值都被放在同一个位置。

谢谢。

1个回答

29

数据库应该是基于零的数字索引 (显然限制为15)。请尝试使用。


r1 = redis.Redis(host='127.0.0.1', port=6379, db = 0)
r2 = redis.Redis(host='127.0.0.1', port=6379, db = 1)

你帮了我很多。谢谢。 - wyp
是的,我使用几乎相同的代码 redis_server = redis.StrictRedis(host="localhost", port=6379, charset="utf-8", decode_responses=True, db=0)。 - Taras Vaskiv
1
没有15个数据库的限制。您可以在redis.config文件中设置数据库数,并选择0到“数据库数-1”的dbid。 - MikeL
2
@MikeL 我写下这个回答已经将近六年了。我不记得当时为什么要讲这个限制。也许当时存在这样的限制,但现在已经没有了。谁知道呢?我不记得了。 - freakish

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接