Java连接redis

Redis 不仅是使用命令来操作,现在基本上主流的语言都有客户端代码支持,比如 java、C、C#、C++、php、Node.js、Go 等。

         在官方网站里列一些 Java 的客户端,有 Jedis、Redisson、Jredis、JDBC-Redis、等其中官方推荐使用 Jedis 和 Redisson。 在企业中用的最多的就是 Jedis,下面我们就重点学习下 Jedis。

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

Git

Svn

问题: 连接出现超时等问题。

解决办法

(1) 在 Linux 找到你的 redis.conf 配置文件,到该目录下使用命令:vi 配置文件名

 打开配置, 将 bind 127.0.0.1 注释掉(最前面加个 #)

原因:bind 127.0.0.1 是只允许本机访问,就是只允许 Linux 虚拟机自己访问,而我们要用 Windows 去访问,显然它不认得

 

(2)关闭防火墙 6379 端口有没有开启

  1. vim /etc/sysconfig/iptables
  2. service iptables restart

Centos 版本命令 service iptables stop   关闭,重启 Redis 服务。

在防火墙中过滤掉这个端口

 

(3) 设置连接 Redis 的密码 config set requirepass 123456  123456 是设置的密码,Java 添加设置密码的部分

 

 

Java 连接redis

1.  单连接

1. 导包

<dependencies>

    <dependency>

        <groupId>redis.clients</groupId>

        <artifactId>jedis</artifactId>

        <version>2.9.0</version>

    </dependency>

    <dependency>

        <groupId>junit</groupId>

        <artifactId>junit</artifactId>

        <version>4.12</version>

        <scope>compile</scope>

    </dependency>

</dependencies>

Java:

@Test

    public void test1(){

        //1. 获取 jedis 连接对象

        Jedis jedis=new Jedis("192.168.3.132",6379);

         jedis.auth("123456");

         //jedis.set("username","admin");

        String str = jedis.get("username");

        System.out.println(str);

        jedis.close();

    }

 

2.  连接池连接

/**

     * 连接池

     */

    @Test

    public void test2(){

        JedisPool jedisPool =new JedisPool("192.168.3.132",6379);

        Jedis jedis = jedisPool.getResource();

        jedis.auth("123456");

        //jedis.set("password","123456");

        System.out.println(jedis.get("password"));

        jedis.close();

    }