使用jedis客户端连接redis,单机版和集群版
引入原著:https://www.cnblogs.com/zqr99/p/8099978.html
单机版
1.入门实例
@Test
public void testJedis(){
//创建一个jedis对象,需要指定服务的ip和端口号
Jedis jedis=new Jedis("192.168.25.11",6379);
//直接操作数据库
jedis.set("str","nihao");
//关闭
jedis.close();
}
@Test
public void testGetJedis(){
//创建一个jedis对象,需要指定服务的ip和端口号
Jedis jedis=new Jedis("192.168.25.11",6379);
//直接操作数据库
String str = jedis.get("str");
System.out.println(str);
//关闭
jedis.close();
}
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<jedis.version>2.7.2</jedis.version>
</dependency>
这样使用的话,每次都需要创建连接和关闭连接,耗费性能,所以一般实际项目中我们一般会采用连接池的方式进行开发
2.使用数据库连接池的方式操作redis
@Test
public void testJedisPool(){
//创建连接池(单例),需要指定服务ip和端口号
JedisPool pool=new JedisPool("192.168.25.11",6379);
//从连接池中获得连接
Jedis resource = pool.getResource();
//使用Jedis操作数据库(方法级别使用)
String str = resource.get("str");
System.out.println(str);
//一定要关闭Jedis连接
resource.close();
//系统关闭前关闭连接池
pool.close();
}
集群版
1.直接使用
public void testRedisCluster() {
//创建一个JedisCluster对象,构造参数Set类型,集合中每个元素 是一个HostAndPort类型
Set<HostAndPort> nodes=new HashSet<>();
nodes.add(new HostAndPort("192.168.25.11",7001));
nodes.add(new HostAndPort("192.168.25.11",7002));
nodes.add(new HostAndPort("192.168.25.11",7003));
nodes.add(new HostAndPort("192.168.25.11",7004));
nodes.add(new HostAndPort("192.168.25.11",7005));
nodes.add(new HostAndPort("192.168.25.11",7006));
JedisCluster jedisCluster=new JedisCluster(nodes);
//直接使用JedisCluster操作redis,自带连接池,JedisCluster可以是单例的
jedisCluster.set("nihao","你好");
System.out.println(jedisCluster.get("nihao"));
//系统关闭前,关闭JedisCluster.
jedisCluster.close();
}
使用Spring整合redis集群
<bean class="redis.clients.jedis.JedisCluster" id="jedisCluster">
<constructor-arg name="nodes">
<set>
<bean class="redis.clients.jedis.HostAndPort">
<constructor-arg name="host" value="192.168.25.11"/>
<constructor-arg name="port" value="7001"/>
</bean>
<bean class="redis.clients.jedis.HostAndPort">
<constructor-arg name="host" value="192.168.25.11"/>
<constructor-arg name="port" value="7002"/>
</bean>
<bean class="redis.clients.jedis.HostAndPort">
<constructor-arg name="host" value="192.168.25.11"/>
<constructor-arg name="port" value="7003"/>
</bean>
<bean class="redis.clients.jedis.HostAndPort">
<constructor-arg name="host" value="192.168.25.11"/>
<constructor-arg name="port" value="7004"/>
</bean>
<bean class="redis.clients.jedis.HostAndPort">
<constructor-arg name="host" value="192.168.25.11"/>
<constructor-arg name="port" value="7005"/>
</bean>
<bean class="redis.clients.jedis.HostAndPort">
<constructor-arg name="host" value="192.168.25.11"/>
<constructor-arg name="port" value="7006"/>
</bean>
</set>
</constructor-arg>
</bean>
<bean class="com.taotao.jedis.JedisClientCluster" id="jedisCluster"/>
private JedisCluster jedisCluster;
@Before
public void testBefore(){
ClassPathXmlApplicationContext classPathXmlApplicationContext = new ClassPathXmlApplicationContext("Spring/applicationContext-redis.xml");
jedisCluster=classPathXmlApplicationContext.getBean(JedisCluster.class);
}
@Test
public void testJedisSping(){
jedisCluster.set("11","11");
System.out.println( jedisCluster.get("11"));
}
还没有评论,来说两句吧...