redis 多数据库

  • A+
所属分类:Redis

一台服务器上都快开启200个redis实例了,看着就崩溃了。这么做无非就是想让不同类型的数据属于不同的应用程序而彼此分开。

那么,redis有没有什么方法使不同的应用程序数据彼此分开同时又存储在相同的实例上呢?就相当于mysql数据库,不同的应用程序数据存储在不同的数据库下。

redis下,数据库是由一个整数索引标识,而不是由一个数据库名称。默认情况下,一个客户端连接到数据库0。redis配置文件中下面的参数来控制数据库总数:

可以通过下面的命令来切换到不同的数据库下

随后,所有的命令将使用数据库3,知道你明确的切换到另一个数据库下。

每个数据库都有属于自己的空间,不必担心之间的key冲突。

key-value

不同的数据库下,相同的key取到各自的值。

key-value

flushdb命令清除数据,只会清除当前的数据库下的数据,不会影响到其他数据库。

key-value

flushall命令会清除这个实例的数据。在执行这个命令前要格外小心。

数据库的数量是可以配置的,默认情况下是16个。修改redis.conf下的databases指令:

redis没有提供任何方法来关联标识不同的数据库。因此,需要你来跟踪什么数据存储到哪个数据库下。

因此上面的快开启200个实例的场景,可以使用不同的数据库来存储,而不必开启如此那么多的实例。

转载请注明来自运维生存时间: http://www.ttlsa.com/html/4010.html

 

weinxin
微信公众号
扫一扫关注运维生存时间公众号,获取最新技术文章~

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

目前评论:4   其中:访客  4   博主  0

    • 匿名 9

      请问 能对单个库设置密码验证码 ?

      • 同问 9

        同部

        • 一季的时间 9

          恩 在页面操作可以这样保存删除数居前手动选择关联的数据库,但是如果在程序中怎么调用选择不同的数据库呢 求解答。现在系统也主要是想不同的数据放在不同的数据中。

            • 默北 默北 6

              @一季的时间 程序调用redis的api方法。如php的:
              $redis->select(0); // switch to DB 0
              $redis->set(‘x’, ’42’); // write 42 to x
              $redis->move(‘x’, 1); // move to DB 1
              $redis->select(1); // switch to DB 1
              $redis->get(‘x’); // will return 42