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 操作數據
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.