在上一篇文章中小编为大家介绍的Redis最新版本Redis-5.0.5版本的集群环境安装。集群环境的使用不可能使用客户端命令的方式,肯定要集成到我们的代码中以实现数据缓存功能。对应Java来说Redis官网向用户推荐了Java客户端,如下图所示:
在Redis官网推荐的众多Java客户端中,Jedis是一个比较简单而功能强大的客户端,它实现Redis服务的封装,提供了简单的API调用。下面小编就来为大家介绍下如何使用Jedis在Java代码中集成Redis服务。
Jedis源码地址:https://github.com/xetorthio/jedis
Jedis的API地址:http://xetorthio.github.io/jedis/
引入必要的Jar包
由于小编使用Jedis的功能包含了连接池的功能(使用连接池的可以优化性能),所以除了需要引入Jedis本身的jar包之外还要引入连接池的jar包。
非maven工程下引入
由于小编使用的工程是非maven工程,所以需要手动下载jedis-2.9.0.jar和commons-pool2-2.4.2.jar并加入中工程中。
maveng工程引入
对于maven工程只需要在pom.xml中增加依赖
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>2.9.0</version>
<type>jar</type>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-pool2</artifactId>
<version>2.4.2</version>
</dependency>
通过Jedis的API不难发现,对于Redis集群来说我们就是要构造一个JedisCluster实例,JedisCluster实例的构造方法如下:
这里小编使用的构造方法是:
JedisCluster(Set jedisClusterNode, int timeout, int maxRedirections, org.apache.commons.pool2.impl.GenericObjectPoolConfig poolConfig)
在spring中集成Jedis
由于小编的工程使用的是Spring,所以小编使用Spring来集成Jedis。Spring Data为提供了连接工厂FactoryBean, InitializingBean,我们可以声明JedisClusterFactory,核心代码如下图:
在spring配置文件中声明JedisClusterFactory
redis节点配置文件如下
代码中使用JedisCluster
通过以上步骤就我们就声明了JedisCluster实例,在业务功能实现过程中需要使用的时候直接注入即可:
@Autowired
private JedisCluster jedisCluster;
使用示例
存储数据:
jedisCluster.set(“CHANNELCODE_” + channelCode, channelName);
获取数据:
String channelName = jedisCluster.get(“CHANNELCODE_” + channelAlarm.getChannelCode());
以上我们介绍使用Jedis集成redis集群服务,是不是很简单啊!感兴趣的同学也来尝试下吧。欢迎关注我们的微信公众号,后续还有更多精彩的文章等着您!