Jedis操作set&sortedset
set:
/** * set */ @Test public void test5(){ //1.获取连接 Jedis jedis = new Jedis();//如果使用空参构造,默认值"localhost",6379端口 //set存储 jedis.sadd("myset","java","php","c++"); //set获取 Set<String> myset = jedis.smembers("myset"); System.out.println(myset); //关闭连接 jedis.close(); }
sortedset:
/** * sortedset */ @Test public void test6(){ //1.获取连接 Jedis jedis = new Jedis();//如果使用空参构造,默认值"localhost",6379端口 //sortedset存储 jedis.zadd("mysort",3,"张三"); jedis.zadd("mysort",30,"李四"); jedis.zadd("mysort",25,"王五"); //sortedset获取 Set<String> mysort = jedis.zrange("mysort", 0, -1); System.out.println(mysort); //关闭连接 jedis.close(); }
Jedis连接池
/** * jedis连接池的使用 */ @Test public void test7(){ //创建一个配置对象 JedisPoolConfig config = new JedisPoolConfig(); config.setMaxTotal(50); config.setMaxIdle(10); //创建Jedis连接池对象 JedisPool jedisPool = new JedisPool(config, "localhost", 6379); //获取连接 Jedis jedis = jedisPool.getResource(); //使用 jedis.set("hehe","haha"); //关闭 归还到连接池中 jedis.close(); }
相关的一些配置:
#最大活动对象数 redis.pool.maxTotal=1000 #最大能够保持idel状态的对象数 redis.pool.maxIdle=100 #最小能够保持idel状态的对象数 redis.pool.minIdle=50 #当池内没有返回对象时,最大等待时间 redis.pool.maxWaitMillis=10000 #当调用borrow Object方法时,是否进行有效性检查 redis.pool.testOnBorrow=true #当调用return Object方法时,是否进行有效性检查 redis.pool.testOnReturn=true #“空闲链接”检测线程,检测的周期,毫秒数。如果为负值,表示不运行“检测线程”。默认为-1. redis.pool.timeBetweenEvictionRunsMillis=30000 #向调用者输出“链接”对象时,是否检测它的空闲超时; redis.pool.testWhileIdle=true # 对于“空闲链接”检测线程而言,每次检测的链接资源的个数。默认为3. redis.pool.numTestsPerEvictionRun=50 #redis服务器的IP redis.ip=xxxxxx #redis服务器的Port redis1.port=6379
Jedis连接池工具类
配置文件:
host=127.0.0.1
#localhost=127.0.0.1 port=6379 maxTotal=50 maxIdle=10
Jedis工具类
package cn.peng.web.jedis.util; import redis.clients.jedis.Jedis; import redis.clients.jedis.JedisPool; import redis.clients.jedis.JedisPoolConfig; import java.io.IOException; import java.io.InputStream; import java.util.Properties; /** * *JedisPool工具类 * 加载配置文件,配置连接池的参数 * 提供获取连接的方法 * * */ public class JedisPoolUtils { private static JedisPool jedisPool; static { //读取配置文件 InputStream is = JedisPoolUtils.class.getClassLoader().getResourceAsStream("jedis.properties"); //创建Properties Properties pro = new Properties(); //关联文件 try { pro.load(is); } catch (IOException e) { e.printStackTrace(); } //获取数据,设置到JedisPoolConfig中 JedisPoolConfig config = new JedisPoolConfig(); config.setMaxTotal(Integer.parseInt(pro.getProperty("maxTotal"))); config.setMaxIdle(Integer.parseInt(pro.getProperty("maxIdle"))); //初始化JedisPool jedisPool = new JedisPool(config,pro.getProperty("host"),Integer.parseInt(pro.getProperty("port"))); } /** * 获取连接方法 */ public static Jedis getJedis(){ return jedisPool.getResource(); } }
测试:
/** * jedis连接池工具类的使用 */ @Test public void test8(){ //通过连接池工具类获取 Jedis jedis = JedisPoolUtils.getJedis(); //使用 jedis.set("hehe","qqq"); //关闭 归还到连接池中 jedis.close(); }
NullPointException可以把配置文件这样进行修改(或重启IDEA)
localhost=127.0.0.1
这里也要对应着进行修改
搜索
复制
标签:set,redis,jedis,连接池,Jedis,pool From: https://www.cnblogs.com/pengtianyang/p/16611877.html