当前位置: 代码网 > it编程>数据库>Redis > StringRedisTemplate操作hash实现过程

StringRedisTemplate操作hash实现过程

2026年03月12日 Redis 我要评论
stringredistemplate操作hash示例如下package com.frank.redis.web;import org.springframework.beans.factory.an

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);
    }
    
}

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持代码网。

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2026  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com