Redis客户端

自带命令行客户端

 

 

 命令格式

1
./redis-cli -h 127.0.0.1 -p 6379

 修改redis配置文件(解决IP绑定问题)

# bind 127.0.0.1绑定的IP才能访问redis服务器,注释掉该配置

protected-mode yes  是否开启保护模式yes该为no

默认方式

如果不指定主机和端口也可以

1
./redis-cli

默认主机地址是127.0.0.1

默认端口是6379

连接超时解决

远程连接redis服务,需要关闭或者修改防火墙配置。

修改防火墙设置:

 第一步:编辑iptables

1
vim /etc/sysconfig/iptables

在命令模式下,选定要复制的那一行的末尾,然后点击键盘yyp,就完成复制,然后修改

 

 

 

l 第二步:重启防火墙

1
2
3
4
5
service iptables restart
iptables:清除防火墙规则:                                 [确定]
iptables:将链设置为政策 ACCEPT:filter                    [确定]
iptables:正在卸载模块:                                   [确定]
iptables:应用防火墙规则:                                 [确定]

 数据库支持

默认一共是16个数据库,每个数据库之间是相互隔离(但是可以使用flushall一次清空所有的库)。数据库的数量是在redis.conf中配置的。

 

 

 

 切换数据库使用命令:select 数据库编号0-15)

例如:select 1

程序客户端之Java客户端Jedis

Jedis介绍

 Redis不仅使用命令客户端来操作,而且可以使用程序客户端操作。

 现在基本上主流的语言都有客户端支持,比如JavaC、C#、C++、php、Node.js、Go等。

 在官方网站里列一些Java的客户端,有JedisRedisson、Jredis、JDBC-Redis、等其中官方推荐使用Jedis和Redisson。

 在企业中用的最多的就是Jedis,下面我们就重点学习下Jedis。

 Jedis同样也是托管在github上,地址:https://github.com/xetorthio/jedis

 

添加jar包

1
2
3
4
5
  <dependency>
<groupId>redis.clients</groupId>
    <artifactId>jedis</artifactId>
    <version>2.9.0</version>
</dependency>

单实例连接

注意事项:需要去设置redis服务器的防火墙策略(临时关闭、永久关闭、端口暴露)

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
@Test
    public void testJedis() {
        //创建一个Jedis的连接
        Jedis jedis = new Jedis("127.0.0.1", 6379);
        //执行redis命令
        jedis.set("key1", "hello world");
        //从redis中取值
        String result = jedis.get("key1");
        //打印结果
        System.out.println(result);
        //关闭连接
        jedis.close();
         
    }

连接池连接

1
2
3
4
5
6
7
8
9
10
11
12
13
14
@Test
    public void testJedisPool() {
        //创建一连接池对象
        JedisPool jedisPool = new JedisPool("127.0.0.1", 6379);
        //从连接池中获得连接
        Jedis jedis = jedisPool.getResource();
        String result = jedis.get("key1") ;
        System.out.println(result);
        //关闭连接
        jedis.close();
         
        //关闭连接池
        jedisPool.close();
    }

测试代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
@Test
    public void testJedisPool() {
        JedisPool pool = (JedisPool) applicationContext.getBean("jedisPool");
        Jedis jedis = null;
        try {
            jedis = pool.getResource();
 
            jedis.set("name", "lisi");
            String name = jedis.get("name");
            System.out.println(name);
        } catch (Exception ex) {
            ex.printStackTrace();
        } finally {
            if (jedis != null) {
                // 关闭连接
                jedis.close();
            }
        }
    }

 

客户端操作Redis

redis是一个key-value的Nosql,我们能操作就只有String类型key以及各种类型value.但是一定要注意我们添加的一般都是字符串,只是会组织为特定数据结构.

set(key ,map,set)  -->  set(key ,1),set(key ,"2")

注意:要先启动redis服务端

对value为string类型的常用操作

set key value       //将字符串值value关联到key
get key               //返回key关联的字符串值

 

 

 mset               //同时设置一个或多个 key-value 对
mget              //返回所有(一个或多个)给定 key 的值

 

 

incr key                     //将 key 中储存的数字值增1(key不存在,则初始化为0,再加1)
decr key                  //将 key 中储存的数字值减1(key不存在,则初始化为0,再减1)
incrBy key                  //自增多少
decrBy key

 

 对key的常用操作

 

keys *                    //获取所有key列表
del key                    //删除key
expire key xx                   //设置key的过期时间(xx秒后过期)
ttl key                  //查看key的过期时间

 

 

select 0-15             //选择库
flushall                   //清空整个redis服务器数据,所有的数据库全部清空
flushdb                  //清除当前库,redis中默认有16个数据库,名称分别为0,1,2...15

 

 

 

 

 

 

posted @   Caoner  阅读(366)  评论(0编辑  收藏  举报
努力加载评论中...
点击右上角即可分享
微信分享提示