Spring and redis integration integration steps
1. Preparation
1. The redis service has been installed (windows version, linux version can be used)
2. Dependent jars: jedis-2.9.0.jar, commons-pool
2
-2.5.0.jar
2. Operation in java (stand-alone version -- jedis operation)
/** * @description: Stand-alone version --jedis operation * @param: * * @createDate: March 2, 2018 2:13:58 PM */ // @Test public void jedisSingle() throws Exception{ //1. Create a jedis object Jedis jedis=new Jedis("192.168.1.194", 601, 20); jedis.auth("123"); //2, get data String str = jedis.get("name"); System.out.println(str); //3, close the resource jedis.close(); }
3. Operation in java (stand-alone version--connection pool operation)
/** * @description: Stand-alone version -- connection pool operation * @param: * @ * @createDate: March 2, 2018 at 2:14:47 PM */ @Test public void jedisPool() throws Exception{ //1. Create a connection pool configuration object and set relevant properties JedisPoolConfig jedisPoolConfig=new JedisPoolConfig(); jedisPoolConfig.setMaxIdle(300); jedisPoolConfig.setMaxTotal(10000); jedisPoolConfig.setMaxWaitMillis(200); //2、 创建连接池对象 JedisPool jedisPool=new JedisPool(jedisPoolConfig,"192.168.1.194", 601,20,"123"); //3、 从连接池中获取一个jedis对象 Jedis jedis = jedisPool.getResource(); //4、 获取数据 String str = jedis.get("name"); System.out.println(str); //5、 关闭资源 jedis jedis.close(); //6、 系统服务关闭时,释放连接池资源 jedisPool.destroy(); }
四、java中操作 (jedis 集群版操作)
/** * @description: jedis 集群版操作 * @param: * @ * @createDate:2018年3月2日 下午2:58:10 */ @Test public void jedisCluster(){ //1、 创建 jedisCluster 对象 Set<redis.clients.jedis.HostAndPort> nodes=new HashSet<>(); nodes.add(new redis.clients.jedis.HostAndPort("192.168.1.194",6011)); nodes.add(new redis.clients.jedis.HostAndPort("192.168.1.194",6012)); nodes.add(new redis.clients.jedis.HostAndPort("192.168.1.194",6013)); nodes.add(new redis.clients.jedis.HostAndPort("192.168.1.194",6014)); nodes.add(new redis.clients.jedis.HostAndPort("192.168.1.194",6015)); nodes.add(new redis.clients.jedis.HostAndPort("192.168.1.194",6016)); JedisCluster jedisCluster=new JedisCluster(nodes); //2、 获取数据 String str = jedisCluster.get("name"); System.out.println(str); //3、关闭资源 jedisCluster.close(); }
五、 jedis 和 spring 整合
1、 单机版-- 连接池
<bean id="jedisPoolConfig" class="redis.clients.jedis.JedisPoolConfig"> <property name="maxIdle" value="300" /> <!-- 最大能够保持idel状态的对象数 --> <property name="maxTotal" value="60000" /> <!-- 最大分配的对象数 --> <property name="testOnBorrow" value="true" /> </bean> <bean id="jedisPool" class="redis.clients.jedis.JedisPool"> <constructor-arg index="0" ref="jedisPoolConfig" /> <constructor-arg index="1" value="${redis.host}" /> <constructor-arg index="2" value="${redis.port}" type="int" /> <constructor-arg index="3" value="${redis.timeout}" type="int"/> <constructor-arg index="4" value="${redis.password}"/> </bean>
2、集群版
<bean id="jedisCluster" class="redis.clients.jedis.JedisCluster"> <constructor-arg> <set> <bean class="redis.clients.jedis.HostAndPort"> <constructor-arg name="host" value="192.168.1.194"/> <constructor-arg name="port" value="6011"/> </bean> <bean class="redis.clients.jedis.HostAndPort"> <constructor-arg name="host" value="192.168.1.194"/> <constructor-arg name="port" value="6012"/> </bean> <bean class="redis.clients.jedis.HostAndPort"> <constructor-arg name="host" value="192.168.1.194"/> <constructor-arg name="port" value="6013"/> </bean> <bean class="redis.clients.jedis.HostAndPort"> <constructor-arg name="host" value="192.168.1.194"/> <constructor-arg name="port" value="6014"/> </bean> <bean class="redis.clients.jedis.HostAndPort"> <constructor-arg name="host" value="192.168.1.194"/> <constructor-arg name="port" value="6015"/> </bean> <bean class="redis.clients.jedis.HostAndPort"> <constructor-arg name="host" value="192.168.1.194"/> <constructor-arg name="port" value="6016"/> </bean> </set> </constructor-arg> </bean>
2018年3月2日 15:33:07