Jedis是java里使用Redis命令的一个大类,其类中的每个方法与Redis的命令相对应,下面的案例帮助我们理解Java里操作Redis缓存。
package com.wxl;
import com.alibaba.fastjson.JSONObject;
import redis.clients.jedis.Jedis;
import redis.clients.jedis.Transaction;
import java.util.Set;
public class TestPing {
public static void main(String[] args) {
normalOperation();
System.out.println();
transactionOperation();
}
/*
事务操作
*/
private static void transactionOperation() {
Jedis jedis = new Jedis("127.0.0.1", 6379);
jedis.flushAll();
JSONObject jsonObject = new JSONObject();
jsonObject.put("hello", "world");
jsonObject.put("name", "Jack");
//开启事务
Transaction multi = jedis.multi();
String result = jsonObject.toJSONString();
try {
multi.set("user1", result);
multi.set("user2", result);
multi.exec();//执行事务
} catch (Exception e) {
multi.discard();//放弃事务
} finally {
System.out.println(jedis.get("user1"));
System.out.println(jedis.get("user2"));
jedis.close();
}
}
private static void normalOperation() {
//1、new Jedis 对象即可
Jedis jedis = new Jedis("127.0.0.1", 6379);
//jedis 所有redis命令对应该类的方法
System.out.println(jedis.ping());
//常用命令测试
System.out.println("清空数据" + jedis.flushDB());
System.out.println("判断某个键是否存在" + jedis.exists("username"));
System.out.println("新增用户名" + jedis.set("username", "Jack"));
System.out.println("新增密码" + jedis.set("password", "123456"));
System.out.println("系统中所有的键如下:");
Set<String> keys = jedis.keys("*");
System.out.println(keys);
System.out.println("删除键password" + jedis.del("password"));
System.out.println("判断键password是否存在" + jedis.exists("password"));
System.out.println("查看键username所存储的值的类型:" + jedis.type("username"));
System.out.println("随机返回key空间的一个" + jedis.randomKey());
System.out.println("重命名key:" + jedis.rename("username", "name"));
System.out.println("取出改后的name:" + jedis.get("name"));
System.out.println("按索引查询:" + jedis.select(0));
System.out.println("删除当前选择数据库中的所有key:" + jedis.flushDB());
System.out.println("返回当前数据库中key的数目:" + jedis.flushDB());
System.out.println("返回当前数据库中的key的数目:" + jedis.dbSize());
System.out.println("删除所有数据库中的所有key:" + jedis.flushAll());
jedis.close();//关闭链接
}
}
运行效果如下: