JAVA使用redis添加和获取list集合缓存                
                
                
                
                
                
                    
                    
                    java使用redis添加和获取list集合缓存
 
1.创建缓存的类对象
 
@data
public class workshoppersontoprocessvo {
    private long id;
    
    private string username;
 
    
    private string nickname;
 
    
    private long workshopid;
 
    
    private long processid;
 
    
    private string processname;
}
 
2.service层创建方法
 
    
    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根据是否刷新缓存选择从缓存获取还是重新添加缓存
 
    
    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层
 
    
    @getmapping("/get_cache_all/{workshopid}/{isrefresh}")
    public result getworkshoppersontoprocess(@pathvariable("isrefresh")boolean isrefresh){
        return result.success(basicworkshoppersonmservice.getworkshoppersontoprocess(isrefresh));
    }
                
                    
                 
                    
                
                
                
                
                
                    相关文章:
                    
                        
                        
                                
                                
                                - 
                                    
                                        
                                        
                                            
                                            
                                            
                                            
                                        
                                        
                                            
在Eureka注册中心中我们在添加完@LoadBalanced注解,即可实现负载均衡功能,现在一起探索一下负载均衡的原理(Ribbon)。通过定义IRule实现可以修改负载均衡规则…
                                             
 
 
- 
                                    
                                        
                                        
                                            
                                            
                                            
                                            
                                        
                                        
                                            
LB,既负载均衡(Load Balancer),是高并发、高可用系统必不可少的关键组件,其目标是尽力将网络流量平均分发到多个服务器上,以提高系统整体的响应速度和可用性。负载均衡的主…
                                             
 
 
- 
                                    
                                
- 
                                    
                                
- 
                                    
                                        
                                        
                                            
                                            
                                            
                                            
                                        
                                        
                                            
背景:在树莓派上进行开发,需要连接屏幕、键盘、鼠标,部署麻烦、占地方不方便。通过ssh+远程桌面(如用于UI相关效果展示)的方式开发更加便利,SSH基本上都没问题,大家遇到问题比较…
                                             
 
 
- 
                                    
                                
 
                
                
                
                
                
                    
                        版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。
                        如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。
                    
                 
                
             
        
发表评论