redis多数据库使用防止key冲突

  • redis
  • 7月 3, 2014
  • 0 评论

【摘要】实际应用中会有多个项目都要使用redis,如果每一个app都要起一个单独的实例那会比较浪费,如果使用一个实例则必须要避免多个项目之间的key冲突问题。

其实redis2.x以上默认支持了16个数据,0-15,每个数据库相互之间是隔离的,这个比较类似关系型数据,如:mysql的多个数据库之间是互不影响。

redis.conf中相关配置:
databases 16

测试版本
redis_version:2.4.10:

连接redis
# redis-cli -p 6380
默认是db0,也可以使用select 0明确指出

redis 127.0.0.1:6380> select 0
OK
redis 127.0.0.1:6380>  set key1 "value1"
OK
redis 127.0.0.1:6380> set key2 "value2"
OK
redis 127.0.0.1:6380>

继续,在db1上进行操作

redis 127.0.0.1:6380[1]> set key1 "db1 value1"
OK
redis 127.0.0.1:6380[1]> set key2 "db1 value2"
OK
redis 127.0.0.1:6380[1]> 

验证:

redis 127.0.0.1:6380[1]> select 0
OK
redis 127.0.0.1:6380> keys *
1) "key2"
2) "key1"

redis 127.0.0.1:6380> select 1
OK
redis 127.0.0.1:6380[1]> keys *
1) "key2"
2) "key1"


redis 127.0.0.1:6380[1]> info
db0:keys=2,expires=0
db1:keys=2,expires=0

很明显能够看出来,redis不同数据库(keyspace 在redis-2.6以后的版本)中,key之间是互不影响的,当然,如果要在同一个数据库中也可以,前提是key能够事先定义好,比如按照项目或者app的名称作为前缀,从而避免key冲突的存在。

u2

Related Posts

  • redis
  • 3月 17, 2014
  • 11 views
基于sentinel+redis下HA集群的搭建

[摘要]之前的文章中介绍了redis+keepalived来…

Read more

  • redis
  • 3月 11, 2014
  • 20 views
keepalived+redis实现HA的验证

之前对Redis的使用还是中规中矩的Master+Slave…

Read more

You Missed

AI安全护栏:保护还是束缚?一场不对称的战争

  • u2
  • 3月 11, 2026
  • 20 views

从”养虾”到AI Agent爆发:2026年技术圈的新范式转移

  • u2
  • 3月 9, 2026
  • 38 views

提示词注入:AI时代最危险的漏洞,正在吞噬你的数据

  • u2
  • 3月 7, 2026
  • 78 views
提示词注入:AI时代最危险的漏洞,正在吞噬你的数据

潘多拉魔盒已打开:开源AI攻击平台正在血洗全球防火墙

  • u2
  • 3月 4, 2026
  • 86 views
潘多拉魔盒已打开:开源AI攻击平台正在血洗全球防火墙

雇佣AI员工,花钱上班:开发者的新”职场”荒诞剧

  • u2
  • 3月 1, 2026
  • 82 views
雇佣AI员工,花钱上班:开发者的新”职场”荒诞剧

OpenClaw 完整使用指南:自托管 AI Agent 的架构与实战

  • u2
  • 2月 25, 2026
  • 202 views
OpenClaw 完整使用指南:自托管 AI Agent 的架构与实战