Redis不仅是使用命令来操作,现在基本上主流的语言都有客户端支持,比如java、C、C#、C++、php、Node.js、Go等。
在官方网站里列一些Java的客户端,有Jedis、Redisson、Jredis、JDBC-Redis、等其中官方推荐使用Jedis和Redisson。 在企业中用的最多的就是Jedis。
首先,redis配置 默认禁止远程连接,所以,想用物理机Jedis 访问 redis 虚拟服务器,需要为被访问端口设置防火墙白名单。如果不设置会报错:
redis远程连接失败,连接超时redis.clients.jedis.exceptions.JedisConnectionException: java.net.SocketTimeoutExce
其次,Centos7 默认使用的是firewall作为防火墙,没有 iptable 文件。本文使用的Linux操作系统为CentOS 7。所以下面 只讲解 CentOS 7 如何设置防火墙白名单
首先, 修改 redis.conf 配置
bind 127.0.0.1 这个需要注释掉,去掉#
protected-mode no
然后,检查redis默认端口(6379)添加到白名单
success则为成功重启防火墙,再次检查端口是否开启firewall-cmd --query-port=6379/tcp

/ect/firewalld/zones/public.xml文件,并重启。


首先,开启服务器

import org.junit.Test;
import redis.clients.jedis.Jedis;
public class JedisClient {
@Test
public void jedisClient() {
Jedis jedis = new Jedis("192.168.188.127",6379);
//选择 0 号数据库 :0-15
jedis.select(0);
//通过jedis赋值
jedis.set("s2", "222");
//通过jedis取值
String result = jedis.get("s2");
System.out.println(result);
jedis.close();
}
}
输出:
222
import org.junit.Test;
import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;
public class JedisClient {
@Test
public void jedisPool() {
//使用jedis连接池连接redis服务器
JedisPool jedispool = new JedisPool("192.168.188.127",6379);
//通过连接池获取Jedis对象
Jedis jedis = jedispool.getResource();
//jedis.set("s4", "444");
String result = jedis.get("s4");
System.out.println(result);
//关闭jedis客户端
jedis.close();
//关闭连接池
jedispool.close();
}
}
输出
444
package jedishm19;
import java.util.HashSet;
import java.util.Set;
import org.junit.Test;
import redis.clients.jedis.HostAndPort;
import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisCluster;
import redis.clients.jedis.JedisPool;
public class JedisClient {
@Test
public void jedisCluster() {
//创建jedisCluster
Set<HostAndPort> nodes = new HashSet<>();
nodes.add(new HostAndPort("192.168.188.127", 7001));
nodes.add(new HostAndPort("192.168.188.127", 7002));
nodes.add(new HostAndPort("192.168.188.127", 7003));
nodes.add(new HostAndPort("192.168.188.127", 7004));
nodes.add(new HostAndPort("192.168.188.127", 7005));
nodes.add(new HostAndPort("192.168.188.127", 7006));
JedisCluster cluster = new JedisCluster(nodes);
cluster.set("s6", "666");
String result = cluster.get("s6");
System.out.println(result);
cluster.close();
}
}
输出:
666