簡述
- 上一文中簡述了使用StringRedisTemplate操作redis中的list類型,今天來記錄一下操作hash類型的主要方法
代碼
@RunWith(SpringRunner.class)
@SpringBootTest
public class HashDemo {
@Autowired
private StringRedisTemplate redisTemplate;
@Test
public void demo1() {
//put方法
redisTemplate.opsForHash().put("k1", "name", "baipengfei");
redisTemplate.opsForHash().put("k1", "age", "22");
redisTemplate.opsForHash().put("k1", "height", "176");
//hashKey不存在時,才設(shè)值
//redisTemplate.opsForHash().putIfAbsent(key, hashKey, value)
}
@Test
public void demo2() {
//putAll方法
Map<String, String> data = new HashMap<>();
data.put("name", "jack ma");
data.put("company", "alibaba");
data.put("age", "500");
redisTemplate.opsForHash().putAll("k2", data);
}
@Test
public void demo3() {
//delete方法,刪除key對應(yīng)的hash的hashkey及其value
redisTemplate.opsForHash().delete("k2", "name");
}
@Test
public void demo4() {
//hasKey方法,確定hashkey是否存在
System.out.println(redisTemplate.opsForHash().hasKey("k2", "name"));
}
@Test
public void demo5() {
//get方法,根據(jù)key和hashkey找出對應(yīng)的值
System.out.println(redisTemplate.opsForHash().get("k1", "name"));
}
@Test
public void demo6() {
//multiGet方法,根據(jù)key和多個hashkey找出對應(yīng)的多個值
Collection<Object> keys = new ArrayList<>();
keys.add("name");
keys.add("age");
System.out.println(redisTemplate.opsForHash().multiGet("k1", keys));
}
@Test
public void demo7() {
//increment方法,對key和hashkey對應(yīng)的值進行增加操作
//增加長整形(無法對浮點數(shù)據(jù)使用本方法)
System.out.println(redisTemplate.opsForHash().increment("k1", "age", 1));
//增加浮點型(可以對整形數(shù)據(jù)使用本方法)
System.out.println(redisTemplate.opsForHash().increment("k1", "age", 1.0));
}
@Test
public void demo8() {
//keys方法,獲取key對應(yīng)的hash表的所有key
Set<Object> keys = redisTemplate.opsForHash().keys("k1");
System.out.println(keys);
//values方法,獲取key對應(yīng)的hash表的所有value
List<Object> values = redisTemplate.opsForHash().values("k1");
System.out.println(values);
}
@Test
public void demo9() {
//keys方法,獲取key對應(yīng)的hash表的大小
long size = redisTemplate.opsForHash().size("k1");
System.out.println(size);
}
@Test
public void demo10() {
//keys方法,獲取key對應(yīng)的hash表的所有鍵值對
Map<Object, Object> entries = redisTemplate.opsForHash().entries("k1");
System.out.println(entries);
}
}
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。