天天看點

Jedis常用api記錄

pom.xml:

<dependency>
    <groupId>redis.clients</groupId>
    <artifactId>jedis</artifactId>
    <version>2.9.0</version>
</dependency>
           

java測試代碼:

//擷取Jedis對象
Jedis jedis = new Jedis("192.168.72.146",6379);
//Jedis的方法就是redis的操作指令
//1. ping--測試連接配接
System.out.println(jedis.ping());  //PONG
//2. 清空資料庫
System.out.println(jedis.flushDB());
//3. string類型的set
System.out.println(jedis.set("k1", "v1"));
//4. hash類型
Map map = new HashMap();
map.put("name","jarvis");
map.put("age","24");
System.out.println(jedis.hmset("user1", map));
map.put("age","25");
System.out.println(jedis.hmset("user1", map));
Map<String, String> map1 = jedis.hgetAll("user1");
System.out.println(map1);  //{name=jarvis, age=25}
Set<String> user1 = jedis.hkeys("user1");
System.out.println(user1);  //[name, age]
......
           

redis事務:

//擷取Jedis對象
Jedis jedis = new Jedis("192.168.72.146",6379);

JSONObject jsonObject = new JSONObject();
jsonObject.put("name","jarvis");
jsonObject.put("age",24);
String userStr = JSONObject.toJSONString(jsonObject);

try {
    //開啟事務
    Transaction multi = jedis.multi();
    //操作
    multi.flushDB();
    multi.set("user",userStr);
    multi.set("num","lala");
    multi.incr("num");  //這裡在redis服務端執行的時候會報錯
    multi.set("dog","wangcai");
    //執行  exec這裡才是真的執行一系列的指令隊列
    List<Object> exec = multi.exec();
    System.out.println(exec);
}catch (Exception ex){
    System.out.println("ex:"+ex.getMessage());
}finally {
    //關閉連接配接
    System.out.println(jedis.get("num"));
    System.out.println(jedis.get("dog"));
    jedis.close();
}
====out:
[OK, OK, OK, redis.clients.jedis.exceptions.JedisDataException: ERR value is not an integer or out of range, OK]
lala
wangcai   //說明redis事務不保證原子性
           

繼續閱讀