天天看点

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事务不保证原子性
           

继续阅读