private static JedisPool pool = null;
//测试String类型
@Test
public void testString(){
//jedispool为空的时候初始化
JedisPoolConfig config = new JedisPoolConfig();
//控制一个pool可分配多个jedis实例,通过pool.getResource()来获取
//如果赋值为-1,则表示不限制,如果pool已经分配了maxTotal个jedis实例,则此时pool的状态为exhausted(耗尽)
config.setMaxTotal(600);
//控制一个pool最多有多少个状态为idle(空闲)的jedis实例
config.setMaxIdle(300);
//设置最小空闲连接数
config.setMinIdle(1);
//设置最大等待时间
config.setMaxWaitMillis(3000);
//表示当borrow(引入)一个jedis实例时,最大的等待时间,如果超过等待时间,则直接抛出JedisConnectionExceptior
config.setMaxWaitMillis(3000);
//在borrow一个jedis实例时,是否提前进行validate操作;如果为true,则得到的jedis实例均是可用的;
config.setTestOnBorrow(true);
//连接的最小空闲时间 默认1800000毫秒(30分钟)
config.setMinEvictableIdleTimeMillis(300000);
//每次释放连接的最大数目,默认3
config.setNumTestsPerEvictionRun(1024);
//逐出扫描的时间间隔(毫秒) 如果为负数,则不运行逐出线程, 默认-1
config.setTimeBetweenEvictionRunsMillis(30000);
//#是否在从池中取出连接前进行检验,如果检验失败,则从池中去除连接并尝试取出另一
config.setTestOnBorrow(true);
//返回性校验
config.setTestOnReturn(true);
//空闲时检查
config.setTestWhileIdle(true);
//设置后进先出
config.setLifo(true);
pool = new JedisPool(config, "host", 6379, 10000, "auth");
Jedis jedis = pool.getResource();
jedis.select(1);
//设定该Key持有指定的字符串Value,如果该Key已经存在,则覆盖其原有值。返回值总是返回"OK"
String returnset = jedis.set("mykey", "hello");
//根据键获取值
String mykeyValue = jedis.get("mykey");
//追加 如果key存在,则在原来的key的value后面追加;否则效果相当于set
Long result = jedis.append("mykey7", "我是后面追加的7");
//判断该键是否存在,存在返回true,否则返回false。
Boolean result5 = jedis.exists("mykey");
//取指定Key的字符长度,等效于C库中strlen函数。
Long result6 = jedis.strlen("mykey");
//=================================
//设置Key的值为20
jedis.set("mykey2", "20");
//该Key的值递增1
Long result1 = jedis.incr("mykey2");
//该key的值递减1
Long result2 = jedis.decr("mykey2");
//删除已有键,删除成功返回1,该键不存在的话就返回0.
Long result3 = jedis.del("mykey");
//从第六个开始替换2个字符(dd只有2个字符),从0开始计数,如果长度不够,就用空格空字符替代
jedis.setrange("mykey", 6, "dd");//"hello dd"
//截取该键的Value,从第一个字符开始,到第二个字符结束。它是从0开始计数的
String returngetRange = jedis.getrange("mykey", 1, 2);//el
//20已经超过Value的总长度,因此将截取第一个字节后面的所有字节。
String returngetRange2 = jedis.getrange("mykey", 1, 20);//ello
//批量设置了key1和key2两个键。返回值表示是否执行成功,执行成功返回1.
Long returnmsetnxValue = jedis.msetnx("key1","key1Value","key2","key2Value");
//批量获取了key1和key2两个键的值。
List<String> mget = jedis.mget("key1","key2");
for(String value:mget){
System.out.print(value+" ");
}
//打印结果为:key1Value key2Value
//批量设置了key3和key5两个键,但是key3已经存在,所以该命令执行失败并返回0。
Long returnmsetnxValue1 = jedis.msetnx("key2","key2Value","key3","key3Value");
//批量获取key2和key3,由于key3没有设置成功,所以返回nil。
List<String> mget1 = jedis.mget("key2","key3");
for(String value:mget1){
System.out.print(value+" ");
}
//打印结果依次为 key2Value null,因为key3没有设置成功,所以取出来的值为null
//该命令原子性的完成参数中所有key/value的设置操作,其具体行为可以看成是多次迭代执行SET命令。 该命令不会失败,始终返回OK。
String mset = jedis.mset("key2","key2newValue","key3","key3Value");
//设置从0开始计算的第七位BIT值为1,返回原有BIT值0.这里用1代表true,用0代表false。
//Boolean setbit = jedis.setbit("mybitkey", 7, true);
String result4 = mykeyValue;
//返回了指定Offset的BIT值。以true代表1,false代表0
Boolean getbitsixresult = jedis.getbit("mybitkey", 7);
jedis.close();
}
Jedis 操作数据
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.