当前位置: 首页 > news >正文

怎么做网站10步骤海外贸易网站

怎么做网站10步骤,海外贸易网站,网站开发项目建设规范,太原seo代理商一. 演示Mybatis 一级缓存 首先我们准备一个接口 两个实现的方法, 当我们调用这个queryAll()方法时我们需要调用selectAll()方法来查询数据 调用此接口实现效果 这个时候我们就可以发现了问题,我们调用方法…

 一. 演示Mybatis 一级缓存

首先我们准备一个接口 两个实现的方法, 当我们调用这个queryAll()方法时我们需要调用selectAll()方法来查询数据

 调用此接口实现效果

 这个时候我们就可以发现了问题,我们调用方法之后对数据库查询了两次,但是只有一次请求这样进行了多次查询,造成了资源的浪费

当我们加入@Transactional事务注解,第二次查询其实是执行的不过他读的是一级缓存的数据,所以没有数据显示不会在查询出来,查的是第一次的缓存数据,这个就是事务的一级缓存了

一级缓存可以帮助我们减少重复的数据库查询

怎么可以关闭一级缓存,只要在本模块中的配置文件配置就好了

二. 演示Mybatis 二级缓存

查询接口读多写少的接口适合做缓存

当开启缓存后,数据的查询执行的流程就是 二级缓存 -> 一级缓存 -> 数据库。

MyBatis 是默认关闭二级缓存的,因为对于增删改操作频繁的话,那么二级缓存形同虚设,每次都会被清空缓存。

开启二级缓存只需要在对应的SQLMapper文件中加入<cache></cache>, 将对应的实体类序列化

在进行查询的时候不会查SQL而是显示查询的二级缓存的命中率0.5

三. SpringBoot内置缓存

导入依赖pom.xml

        <!--spring内置缓存--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-cache</artifactId></dependency>

在模块的启动类中加入@EnableCaching注解 开启缓存

开启缓存之后我们在service方法中加入一个注解

@Cacheable(value = "DailyTrainTicketService.queryList3") 定义这个方法位置在调用这个方法的时候做缓存 

 当我们输入不同的参数的时候根据不同的请求参数,空间会缓存多个解说,会根据请求参数生成一个key,需要对请求参数生成hashCode和equals方法,用于生成key

四.SpringBoot集成redis缓存

导入依赖

        <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-redis</artifactId></dependency>

 在配置文件中配置redis

spring.data.redis.host=127.0.0.1
spring.data.redis.port=6379
spring.data.redis.password=123456

新建redis controller类测试redis是否连接成功

package com.jiawa.train.business.controller;import jakarta.annotation.Resource;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;import java.util.concurrent.TimeUnit;@RestController
public class RedisController {private static final Logger LOG = LoggerFactory.getLogger(RedisController.class);@Resourceprivate RedisTemplate redisTemplate;@RequestMapping("/redis/set/{key}/{value}")public String set(@PathVariable String key, @PathVariable String value) {redisTemplate.opsForValue().set(key, value, 3600, TimeUnit.SECONDS);LOG.info("key: {}, value: {}", key, value);return "success";}@RequestMapping("/redis/get/{key}")public Object get(@PathVariable String key) {Object object = redisTemplate.opsForValue().get(key);LOG.info("key: {}, value: {}", key, object);return object;}
}

启动之后访问两个接口方法,可以看到访问成功了,说明已经集成了redis,没有其他的代码两个都是对redis的操作

接下来就是redis的缓存,在模块配置文件中配置一下

# 设置缓存类型为Redis
spring.cache.type=redis
# 设置Redis缓存键前缀
spring.cache.redis.use-key-prefix=true
spring.cache.redis.key-prefix=train_cache_
# 允许缓存空值
spring.cache.redis.cache-null-values=true
# 设置缓存生存时间(秒)
spring.cache.redis.time-to-live=60s

设置缓存时间太短的时候,查询接口每次都会查数据库而不会查缓存

 redis常用放用户的登录信息,早起没有redis的时候,登录信息都放在session中应用已重启登录就没有了多节点session又是另一个头大的问题

http://www.15wanjia.com/news/172070.html

相关文章:

  • 2016建设银行辽宁招聘网站公司建设网站的申请报告
  • 沭阳网站建设如何建立自己的网站步骤
  • 专题网站怎么做企业融资顾问
  • 新手学做网站 pdf 下载网络科技工作室
  • 用阿里云服务器做自己购物网站网站建设报价费用是多少
  • 郑州高端品牌网站建设网站开发需要的准备
  • 重庆建设建设工程信息网站小米的网站设计
  • wordpress可以做成企业站吗wordpress模块化建站
  • 设计师个人网站主页服装定制合同范本
  • 网站建设公司好发信息网wordpress 安装 此网页包含重定向循环
  • win2003建网站怎么设置网页版浏览器
  • 一站式网站后台编辑框无法显示
  • 百度免费发布信息网站江苏seo百度推广
  • 长沙营销型网站建设制作济宁市做网站的公司
  • 创客贴网站建设wordpress主题基础
  • 网站备案 法人代表长沙口碑好的做网站公司哪家好
  • 在建工程查询网站南京哪家网络公司做网站优化好
  • 网站流量用什么表示连云港做网站公司哪家好
  • 建网站怎么赚钱网站 关键字 标签
  • 网站的关于我们怎么做网页设计软件app
  • 有口碑的武进网站建设长春网站建设吉网传媒实力牜
  • 北京公司名称及地址大全合肥网站优化平台
  • 专门做h5的网站中国十大做网站公司排名
  • 网站服务器租赁价格河南建筑工程信息网官网
  • 医院网站的建设wordpress上传文件显示
  • 网站设计模板旅游景点11页兰州中川国际机场t3航站楼
  • 金山网站制作百度关键词seo优化
  • 电脑网络怎么连接宁波网站推广优化外包公司
  • 海天网站建设网站的二维码怎么变小
  • php商城网站开发网站功能模块结构图