> keys *
id
STUDENT
set2
zset
set1
student
mylist
list
检查是否存在 set1:
java复制代码
> exists set1
1
> exists set3
0
存在则返回 1;不存在则返回 0 。
判断类型:
java复制代码
> type set1
set
> type list
list
> type student
hash
> type id
string
> type zset
zset
删除 list:
java复制代码
> del list
1
> keys *
id
STUDENT
set2
zset
set1
student
mylist
4.0 在 Java 中操作 Redis
Redis 的 Java 客户端很多,常用的几种:Jedis、Lettuce、Spring Data Redis 。在 Spring Data Redis 是 Spring 的一部分,对 Redis 底层开发进行了高度封装,在 Spring 项目中,可以使用 Spring Data Redis 来简化操作。
@Test
public void test2(){
//先获取到操作哈希的对象
HashOperations hashOperations = redisTemplate.opsForHash();
//新增数据
hashOperations.put("student","id","1");
hashOperations.put("student","name","小扳手");
hashOperations.put("student","age","22");
//根据字段来获取值
String id = (String) hashOperations.get("student", "id");
String name = (String) hashOperations.get("student", "name");
System.out.println(id + " " + name);
//获取student中的全部键
Set student = hashOperations.keys("student");
System.out.println(student);
//获取student中的全部值
List student1 = hashOperations.values("student");
System.out.println(student1);
//删除指定的字段
hashOperations.delete("student","age");
}
运行结果:
4.4 操作列表类型的数据
常见的方法:
1)leftPushAll(key,values):批量增加数据。
2)leftPush(key,value):新增数据。
3)range(key,start,end):获取指定范围的数据。
4)rightPop(key):删除最后一个数据。
5)size(key):获取列表中的数据个数。
代码演示:
java复制代码
@Test
public void test3(){
ListOperations listOperations = redisTemplate.opsForList();
//批量增加数据
listOperations.leftPushAll("mylist","1","2","3");
//新增单个数据
listOperations.leftPush("mylist","4");
//获取范围内的数据
List mylist = listOperations.range("mylist", 0, -1);
System.out.println(mylist);
//删除最后一个数据
String date = (String) listOperations.rightPop("mylist");
System.out.println(date);
//获取列表中的数据个数
Long len = listOperations.size("mylist");
System.out.println(len);
}
运行结果:
4.5 操作集合类型的数据
常见的方法:
1)add(key,values):新增单个数据或者批量新增数据。
2)members(key):获取 Key 中的全部成员。
3)size(key):获取 key 中的成员个数。
4)intersect(key1,key2):获取两个集合中的交集。
5)union(key1,key2):获取两个集合中的并集。
6)remove(key,values):删除 key 中指定的 value ,可以是一个 value 也可以是多个 value 。
代码如下:
java复制代码
@Test
public void test4(){
SetOperations setOperations = redisTemplate.opsForSet();
//批量新增数据
setOperations.add("set1","a","b","c");
setOperations.add("set2","a","x","y");
//获取key中的成员
Set member = setOperations.members("set1");
System.out.println(member);
//获取key中的成员个数
Long len = setOperations.size("set2");
System.out.println(len);
//两个集合的交集
Set intersect = setOperations.intersect("set1", "set2");
System.out.println(intersect);
//获取两个集合的并集
Set union = setOperations.union("set1", "set2");
System.out.println(union);
//删除成员
setOperations.remove("set1","c");
}