首页 > 编程知识 正文

java后端主流框架,多级缓存架构

时间:2023-05-04 00:58:56 阅读:164380 作者:1654

由于该楼层涉嫌违规,系统将其折叠并隐藏,以显示该楼层

1、前言

在我们开发项目的过程中,经常会遇到读写不多的界面。 这些接口有大量的查询操作。 如果必须查询数据库进行这些查询操作,则数据库可能无法承受,或者数据库响应缓慢,接口可能无法在指定的时间响应。 因此,我们将减少数据库查询操作,并使用多级高速缓存机制。

2、写法

基于//id查询查询查询APP

@cacheable(value='app ',key='#appId ' ) )

publicappgetappbyappid (integer appid ) {

String redisKey='app:' appId;

询问Redis

stringjsonstr=redis template.ops for value ().get ) rediskey;

if (JSON str==空值) {

//查询数据库

appapp=app Dao.selectbyprimarykey (appid;

string value=JSON.tojsonstring (app );

写在Redis上

redisTemplate.opsForValue ().set ) rediskey,value,

6 * 60 new Random ().nextint ) )、TimeUnit.SECONDS );

返回应用程序;

}

returnJSON.parseobject(JSONstr,new TypeReference ) (

);

}

在方法之前添加@Cacheable注释并将Ehcache以注释格式绑定到方法时,从方法返回的内容将直接存储在Ehcache中。 对于此缓存,不进入方法而直接返回。

进入方法,检查Redis。 如果Redis不存在,请使用appDao的selectByPrimaryKey方法检查数据库,并使用Redistemplate.opsforvalue(.set )方法将其重写为Redis。 json.parseObject ) )方法将JSON格式的内容转换为App类并返回。

其中为了避免缓存破坏的问题,在设定redis的有效期限时追加随机数。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。