操作String
// @Test
public void string() throws InterruptedException {
ValueOperations<String, String> redisStr = redisTemplate.opsForValue();
String key = "strKey";
System.out.println(redisStr.get(key));// 查询
redisStr.set(key, "value1");// 添加或修改
System.out.println(redisStr.get(key));
System.out.println(redisStr.size(key));// 返回value值的长度
redisStr.append(key, "_haha");// 追加或添加
System.out.println(redisStr.get(key));
System.out.println(redisStr.size(key));
redisStr.set(key, "zhixintong`", 3, TimeUnit.SECONDS);// 有超时的添加或修改
System.out.println(redisStr.get(key));
Thread.sleep(5000);
System.out.println(redisStr.get(key));
}
操作Hash
// @Test
public void hash() {
HashOperations<String, String, String> redisHash = redisTemplate.opsForHash();
String key = "hashKey";
System.out.println(redisHash.get(key, "python"));// null
redisHash.put(key, "java", "java_value");// 添加或修改
System.out.println(redisHash.get(key, "java"));// java_value
redisHash.put(key, "c++", "c++_value");
System.out.println(redisHash.get(key, "c++"));// c++_value
System.out.println(redisHash.hasKey(key, "java"));// true
System.out.println(redisHash.size(key));// 2
System.out.println(redisHash.keys(key));// [java, c++]
System.out.println(redisHash.values(key));// [java_value, c++_value]
System.out.println(redisHash.entries(key));// {java=java_value, c++=c++_value}
}
操作List
// @Test
public void list() {
ListOperations<String, String> redisList = redisTemplate.opsForList();
String key = "listKey";
redisTemplate.delete(key);
redisList.rightPush(key, "Chinese");
redisList.rightPush(key, "Japan");
redisList.leftPush(key, "France");
redisList.leftPush(key, "America");
System.out.println(redisList.range(key, 0, 3));// [America, France, Chinese, Japan]
System.out.println(redisList.rightPop(key));// Japan
System.out.println(redisList.size(key));// 3
System.out.println(redisList.rightPop(key));// Chinese
System.out.println(redisList.size(key));// 2
System.out.println(redisList.index(key, 0));// 查询第1个元素
redisList.set(key, 0, "China");// 修改第一个元素
System.out.println(redisList.index(key, 0));// 查询第1个元素
}
操作Set
// @Test
public void set() {
SetOperations<String, String> redisSet = redisTemplate.opsForSet();
String key = "setKey";
redisTemplate.delete(key);
redisSet.add(key, "zhangsan");// 添加1条数据
redisSet.add(key, "lisi", "wangwu", "zhaoliu");// 添加多条数据
System.out.println(redisSet.members(key));// [lisi, wangwu, zhaoliu, zhangsan]
System.out.println(redisSet.size(key));// 4
System.out.println(redisSet.randomMember(key));// list
System.out.println(redisSet.randomMembers(key, 2));// [zhangsan, zhangsan]
System.out.println(redisSet.isMember(key, "lisi"));// true
System.out.println(redisSet.remove(key, "lisi"));// 1
System.out.println(redisSet.isMember(key, "lisi"));// false
System.out.println(redisSet.size(key));// 3
}
操作Zset
@Test
public void sortedSet() {
ZSetOperations<String, String> redisZset = redisTemplate.opsForZSet();
String key = "zSetKey";
redisTemplate.delete(key);
redisZset.add(key, "apple", 2);// 添加或修改
redisZset.add(key, "banana", 3);
redisZset.add(key, "pear", 4);
redisZset.add(key, "orange", 1);
System.out.println(redisZset.size(key));// 总数
System.out.println(redisZset.zCard(key));// 总数
System.out.println(redisZset.range(key, 0, 3));// [orange, apple, banana, pear]
System.out.println(redisZset.score(key, "apple"));// 2.0
System.out.println(redisZset.remove(key, "banana"));// 1
System.out.println(redisZset.range(key, 0, 3));// [orange, apple, pear]
}