stringredistemplate操作hash
示例如下
package com.frank.redis.web;
import org.springframework.beans.factory.annotation.autowired;
import org.springframework.data.redis.core.stringredistemplate;
import org.springframework.web.bind.annotation.getmapping;
import org.springframework.web.bind.annotation.requestmapping;
import org.springframework.web.bind.annotation.restcontroller;
import java.util.*;
/**
* @author 小石潭记
* @date 2021/6/8 20:34
* @description: ${todo}
*/
@restcontroller
@requestmapping("/redis-test")
public class redistestcontroller {
@autowired
private stringredistemplate redistemplate;
@getmapping("/demo1")
public void demo1() {
//put方法
redistemplate.opsforhash().put("k1", "name", "frank");
redistemplate.opsforhash().put("k1", "age", "22");
redistemplate.opsforhash().put("k1", "height", "176");
//hashkey不存在时,才设值
//redistemplate.opsforhash().putifabsent(key, hashkey, value)
}
@getmapping("/demo2")
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);
}
@getmapping("/demo3")
public void demo3() {
//delete方法,删除key对应的hash的hashkey及其value
redistemplate.opsforhash().delete("k2", "name");
}
@getmapping("/demo4")
public void demo4() {
//haskey方法,确定hashkey是否存在
system.out.println(redistemplate.opsforhash().haskey("k2", "name"));
}
@getmapping("/demo5")
public void demo5() {
//get方法,根据key和hashkey找出对应的值
system.out.println(redistemplate.opsforhash().get("k1", "name"));
}
@getmapping("/demo6")
public void demo6() {
//multiget方法,根据key和多个hashkey找出对应的多个值
collection<object> keys = new arraylist<>();
keys.add("name");
keys.add("age");
system.out.println(redistemplate.opsforhash().multiget("k1", keys));
}
@getmapping("/demo7")
public void demo7() {
//increment方法,对key和hashkey对应的值进行增加操作
//增加长整形(无法对浮点数据使用本方法)
system.out.println(redistemplate.opsforhash().increment("k1", "age", 1));
//增加浮点型(可以对整形数据使用本方法)
system.out.println(redistemplate.opsforhash().increment("k1", "age", 1.0));
}
@getmapping("/demo8")
public void demo8() {
//keys方法,获取key对应的hash表的所有key
set<object> keys = redistemplate.opsforhash().keys("k1");
system.out.println(keys);
//values方法,获取key对应的hash表的所有value
list<object> values = redistemplate.opsforhash().values("k1");
system.out.println(values);
}
@getmapping("/demo9")
public void demo9() {
//keys方法,获取key对应的hash表的大小
long size = redistemplate.opsforhash().size("k1");
system.out.println(size);
}
@getmapping("/demo10")
public void demo10() {
//keys方法,获取key对应的hash表的所有键值对
map<object, object> entries = redistemplate.opsforhash().entries("k1");
system.out.println(entries);
}
}
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持代码网。
发表评论