redis特性之多数据库及jedis操作

来源:互联网 发布:win10优化驱动器要几遍 编辑:程序博客网 时间:2024/06/14 11:35

一个redis实例包括了多个数据库,客户端这边可以指定要连接的数据库,就跟mysql一样创建了多个数据库,我们可以自己指定连接哪个数据库。实际上redis提供了16个数据库,下标从0到15,默认连接的是下标为0的数据库,如果连接下标指定超过15会报错。

命令行操作

指定连接数据库:select 下标(0-15)
将当前数据库中的key移动到另外一个数据库:move key 数据库下标

127.0.0.1:6379> select 2    //连接下标2的数据库OK127.0.0.1:6379[2]> set name 'tom'OK127.0.0.1:6379[2]> keys *1) "name"127.0.0.1:6379[2]> get name"tom"127.0.0.1:6379[2]> move name 1 //将下标2数据库中key移动到下标1的数据库(integer) 1127.0.0.1:6379[2]> keys *(empty list or set)127.0.0.1:6379[2]> select 1 //查看下标1的数据库是否存在name的keyOK127.0.0.1:6379[1]> keys *1) "name"

服务器命令
1、测试连接是否存活
ping返回PONG时表示连接存活

127.0.0.1:6379> pingPONG

2、命令行打印内容
echo 字符串

127.0.0.1:6379> echo naobaijin"naobaijin"

3、查看当前数据库中key的个数
dbsize

127.0.0.1:6379> select 2OK127.0.0.1:6379[2]> dbsize(integer) 0127.0.0.1:6379[2]> set name jinOK127.0.0.1:6379[2]> set age 14OK127.0.0.1:6379[2]> set id 10OK127.0.0.1:6379[2]> dbsize(integer) 3初始是0个key,加了三个之后再查看

4、删除当前数据库中所有key

flushdb

127.0.0.1:6379[2]> dbsize(integer) 3127.0.0.1:6379[2]> flushdbOK127.0.0.1:6379[2]> dbsize(integer) 0初始是3个key,删除后剩0个

5、删除所有数据库中的key

flushAll(这里就不测试了)

6、退出连接

quit

jedis操作,连接数据库,服务器操作

    /*     * 多数据库测试     */    @Test    public void test1(){        Jedis jedis = new Jedis("192.168.25.128",6379);        //连接数据库1        jedis.select(1);        jedis.set("name", "Lucy");        String name = jedis.get("name");        System.out.println(name);        //连接数据库2        jedis.select(2);        String name2 = jedis.get("name");        System.out.println(name2);        //连接数据库1        jedis.select(1);        //将数据库1的的key='name'的键值对移到数据库3中        jedis.move("name", 3);        //连接数据库3        jedis.select(3);        String name3 = jedis.get("name");        System.out.println(name3);        jedis.select(15);        System.out.println("连接15");        jedis.select(16);//到这里就会抛出异常JedisDataException:ERR invalid DB index,后面代码不再执行。        System.out.println("连接16");    }

输出:

LucynullLucy连接15
    /*     * 健康状况(连接是否存活),退出,当前数据库中key的数目,服务器信息,删除某数据库(或所有数据库)中所有key     */    @Test    public void test2(){        Jedis jedis = new Jedis("192.168.25.128",6379);        //健康状况        String ping = jedis.ping();        System.out.println(ping);        //当前数据库中key的数目        Long size = jedis.dbSize();        System.out.println("数据库0中key的数目为:"+size);        //获取服务器的信息和统计        String info = jedis.info();        System.out.println("服务器信息:"+info);        //删除当前数据库中所有key        jedis.select(1);        jedis.set("age", "15");        jedis.set("address", "四川成都");        jedis.flushDB();//flushAll()表示删除所有数据库中的key        System.out.println(jedis.get("age"));        //退出连接        //jedis.quit();    }

输出:

PONG数据库0中key的数目为:41服务器信息:# Server...一堆服务器相关信息如,内存、状态、cpu等null
原创粉丝点击