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事務不保證原子性