什么是jedis
jedis是集成了redis常用命令的java客户端开发包,提供了连接池管理方案。
添加依赖
<dependency><groupId>redis.clients</groupId><artifactId>jedis</artifactId><version>3.0.1</version></dependency>
普通连接
package com.clc.test;import redis.clients.jedis.Jedis;public class JedisTest {public static void main(String[] args) {//创建连接对象Jedis jedis = new Jedis("127.0.0.1", 6379);//set key valueString set = jedis.set("k1", "v1");//get keyString value = jedis.get("k1");System.out.println(value);//关闭连接jedis.close();}
}
连接池
package com.clc.test;import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;
import redis.clients.jedis.JedisPoolConfig;public class PoolTest {public static void main(String[] args) {//连接池配置JedisPoolConfig poolConfig = new JedisPoolConfig();//设置最多连接数为200个poolConfig.setMaxTotal(200);//创建连接池JedisPool pool = new JedisPool(poolConfig, "127.0.0.1", 6379);//获取连接对象jedisJedis jedis = pool.getResource();//set key valueString set = jedis.set("k1", "v1");//get keyString value = jedis.get("k1");System.out.println(value);//关闭当前连接,并归还连接jedis.close();//关闭连接池pool.close();}
}
分片式连接池
package com.clc.test;import java.util.ArrayList;
import java.util.List;import redis.clients.jedis.JedisPoolConfig;
import redis.clients.jedis.JedisShardInfo;
import redis.clients.jedis.ShardedJedis;
import redis.clients.jedis.ShardedJedisPool;public class ShardTest {public static void main(String[] args) {//连接池配置JedisPoolConfig poolConfig = new JedisPoolConfig();poolConfig.setMaxTotal(200);//创建redis服务器集群对象(列表)List<JedisShardInfo> shards = new ArrayList<JedisShardInfo>();shards.add(new JedisShardInfo("127.0.0.1",6379));shards.add(new JedisShardInfo("192.168.1.110",6379));shards.add(new JedisShardInfo("192.168.1.111",6379));//创建分片式redis连接池ShardedJedisPool shardedJedisPool = new ShardedJedisPool(poolConfig, shards);//获取连接ShardedJedis jedis = shardedJedisPool.getResource();//set key valuefor (int i = 0; i < 100; i++) {jedis.set("k"+i, "v"+i);//根据key的hash值,存到对应的redis服务器}//关闭当前连接,并归还连接jedis.close();//关闭连接池shardedJedisPool.close();}
}