目录
使用 String 类型的 get 和 set 方法
使用通用命令 exists ,del
使用通用命令 keys
使用通用命令 expire,ttl
使用通用命令 type
要想通过 Java 操作 redis,首先要连接上 redis 服务器,推荐看通过 Java 操作 redis -- 连接 redis
关于 redis 的基本通用命令推荐看Redis 的常用基本全局命令【小林优选】
使用 String 类型的 get 和 set 方法
按道理这两个命令不是基本通用命令,但 redis 中要有数据我们才好进行分析,所以先学这两个命令
/**
* 使用 String 类型的 get 和 set 方法
* */
public static void test1(Jedis jedis){
//清空 redis 中所有数据库的数据
jedis.flushAll();
//清空当前数据库中的数据
//jedis.flushDB();
jedis.set("key1","111");
String value1=jedis.get("key1");
System.out.println("value1:"+value1);
jedis.set("key2","222");
//通过 SetParams 类型的对象来设置 set 命令的选项,如 ex,px,xx,nx
SetParams setParams=new SetParams();
//设置秒级的过期时间
setParams.ex(10);
//设置毫秒级的过期时间
//setParams.px(10000);
//键值对仅更新(之前存在该key值则更新,不存在则没有效果)
setParams.xx();
//键值对仅创建(之前不存在该key值则创建,存在则没有效果)
//setParams.nx();
jedis.set("key2","333",setParams);
String value2=jedis.get("key2");
System.out.println("value2:"+value2);
}
得到的结果为:
使用通用命令 exists ,del
public static void test2(Jedis jedis){
//清空 redis 中所有数据库的数据
jedis.flushAll();
jedis.set("key1","111");
jedis.set("key2","222");
jedis.set("key3","333");
//判断单个键值对是否存在,单位为 boolean
boolean result1=jedis.exists("key1");
System.out.println("result1:"+result1);
//判断多个键值对是否存在,返回存在的键值对个数,单位为 long(可变长参数)
long result2=jedis.exists("key1","key2","key3");
System.out.println("result2:"+result2);
//删除单个元素,返回值为删除的个数,单位为 long
long result3=jedis.del("key1");
System.out.println("result3:"+result3);
//删除多个元素,返回值为删除的个数,单位为 long
long result4=jedis.del("key1","key2","key3");
System.out.println("result4:"+result4);
}
得到的结果为:
使用通用命令 keys
/**
* 使用通用命令 keys
* */
public static void test3(Jedis jedis){
//清空 redis 中所有数据库的数据
jedis.flushAll();
jedis.set("key1","111");
jedis.set("key2","222");
jedis.set("key3","333");
//获取指定格式的 key,* 代表所有格式
Set<String> set=jedis.keys("*");
System.out.println(set);
}
得到的结果为:
使用通用命令 expire,ttl
/**
* 使用通用命令 expire,ttl
* */
public static void test4(Jedis jedis) {
//清空 redis 中所有数据库的数据
jedis.flushAll();
jedis.set("key1","111");
//为 key1 键值对设置 10 秒的过期时间,设置成功返回 1
long result1=jedis.expire("key1",10);
System.out.println("result1:"+result1);
//休眠 2 秒
try {
Thread.sleep(2000);
} catch (InterruptedException e) {
throw new RuntimeException(e);
}
//获取 key1 的过期时间
long result2=jedis.ttl("key1");
System.out.println("result2:"+result2);
}
得到的结果为:
使用通用命令 type
/**
* 使用通用命令 type
* */
public static void test5(Jedis jedis){
//清空 redis 中所有数据库的数据
jedis.flushAll();
//设置 value 为 String 类型的键值对
jedis.set("key1","111");
//获取 key1 对应 value 的类型
String result1=jedis.type("key1");
System.out.println("result1:"+result1);
//设置 value 为 list 类型的键值对
jedis.lpush("key2","111","222","333");
//获取 key2 对应 value 的类型
String result2=jedis.type("key2");
System.out.println("result2:"+result2);
//设置 value 为 hash 类型的键值对
jedis.hset("key3","f1","111");
//获取 key3 对应 value 的类型
String result3=jedis.type("key3");
System.out.println("result3:"+result3);
//设置 value 为 set 类型的键值对
jedis.sadd("key4","111","222","333");
//获取 key4 对应 value 的类型
String result4=jedis.type("key4");
System.out.println("result4:"+result4);
//设置 value 为 zset 类型的键值对
jedis.zadd("key5",10,"zhangsan");
//获取 key5 对应 value 的类型
String result5=jedis.type("key5");
System.out.println("result5:"+result5);
}
得到的结果为: