当前位置: 代码网 > it编程>编程语言>Java > JAVA使用redis添加和获取list集合缓存

JAVA使用redis添加和获取list集合缓存

2024年08月02日 Java 我要评论
JAVA使用redis添加和获取list集合缓存

java使用redis添加和获取list集合缓存

1.创建缓存的类对象

@data
public class workshoppersontoprocessvo {
    private long id;
    /**
     * 用户名称
     */
    private string username;
 
    /**
     * 昵称
     */
    private string nickname;
 
    /**
     * 车间id
     */
    private long workshopid;
 
    /**
     * 工序id
     */
    private long processid;
 
    /**
     * 工序名称
     */
    private string processname;
}

2.service层创建方法

    /**
     * 获取用户工序车间所有列表
     * @param isrefresh
     * @return
     */
    list<workshoppersontoprocessvo> getworkshoppersontoprocess(boolean isrefresh);

3.impl层实现方法

3.1缓存定义

    /**
     * 缓存定义
     */
    private final redistemplate redistemplate;
    private final string persontoprocesskey="persontoprocesskey";

3.2将list添加进缓存

    public list<workshoppersontoprocessvo> setworkshoppersontoprocess(){
        string key=persontoprocesskey;
        list<workshoppersontoprocessvo> list=this.basemapper.getworkshoppersontoprocess();
        if(list.size()>0){
            redistemplate.opsforvalue().set(key,json.tojsonstring(list),7, timeunit.days);
            return list;
        }
        return new arraylist<>();
    }

3.3根据是否刷新缓存选择从缓存获取还是重新添加缓存

    /**
     * 获取用户工序车间所有列表
     * @param isrefresh
     * @return
     */
    public list<workshoppersontoprocessvo> getworkshoppersontoprocess(boolean isrefresh){
        if(isrefresh){
            return setworkshoppersontoprocess();
        }
        string key=persontoprocesskey;
        if(redistemplate.haskey(key)){
            valueoperations<string, string> operations = redistemplate.opsforvalue();
            string json=operations.get(key);
            return jsonobject.parsearray(json, workshoppersontoprocessvo.class);
        }else{
            return setworkshoppersontoprocess();
        }
    }

3.4controller层

    /**
     * 获取用户工序车间所有列表
     * @param isrefresh
     * @return
     */
    @getmapping("/get_cache_all/{workshopid}/{isrefresh}")
    public result getworkshoppersontoprocess(@pathvariable("isrefresh")boolean isrefresh){
        return result.success(basicworkshoppersonmservice.getworkshoppersontoprocess(isrefresh));
    }
(0)

相关文章:

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

发表评论

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