redis 切换 db

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

 

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

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

 /etc/redis/redis.conf 

文件中,有个配置项 databases = 16 //默认有16个数据库

 

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

 

 

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

 

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

 

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

 

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

 

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

 

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

 

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

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

java代码使用切换:

package com.test;
 
import redis.clients.jedis.Jedis;
 
public class readredis {
    public static void main(String[] args) {
        // 连接本地的 Redis 服务
        Jedis jedis =  new Jedis("127.0.0.1", 6379);
        jedis.select(10);
        String value = jedis.hget("place:01", "placename");
        System.out.println(value);
    }
}
 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值