当前位置: 代码迷 >> 综合 >> Redis学习笔记II-Working with Multiple Databases
  详细解决方案

Redis学习笔记II-Working with Multiple Databases

热度:94   发布时间:2023-12-21 19:03:06.0

翻译自:http://rediscookbook.org/multiple_databases.html

 

I. 问题背景

你或许希望一个Redis应用(一个Redis server,或者一个Redis server/slaves群组)能为多个客户端应用服务,如果这些客户端应用都各自为营,向Redis写数据的话,很可能会导致key冲突(我们知道 Redis是一个key-value结构的存储结构)。为了将不同的应用分开,你可以用不同的前缀去区分(eg: app_i:xx:yy, app_ii:xx:yy)。Redis已经有更好的分割这些key的机制:Database。

 

II. 定义

Redis Databases是一个下标基于0的数组,我们可以用指令:

SELECT 2

将当前Database切换到“2”这个空间,此后所有的操作都是在这个空间(对应客户端的应用)内的,直到再次执行 SELECT n。

 

III. 实施方案

Database切换操作:SELECT n

清除当前Database下的所有key(所有数据):FLUSHDB,之后用 keys * 查看是否还有残key存在?没有了!

 

IV. 其他

Databases的数量可以在redis.conf中配置:

databases 42,从“客户端应用都各自为营”的角度来看,Database的概念是很适用的,它让我们有清晰的数据划分,可以放心的把注意力放在key的设计上。

Redis暂不提供将字符串索引Databases的方式(只能用Number),所以只能自己铭记哪个数子代表那块数据。

  相关解决方案