SpringMVC当中的 @Transactional(readOnly = true) 的作用

Easter79
• 阅读 1289

readOnly=true表明所注解的方法或类只是读取数据。
readOnly=false表明所注解的方法或类是增加,删除,修改数据。

如果设置为true,spring会对其优化,可以用来提高性能。
readOnly为true 时读取的数据如果缓存中存在就从缓存中读取 这是没有问题的

readOnly为false 时读取的数据就不能从缓存中读取了 

Spring Doc里的描述。

Read-only status: A read-only transaction can be used when your code
reads but does not modify data. Read-only transactions can be a useful
optimization in some cases, such as when you are using Hibernate.

点赞
收藏
评论区
推荐文章
Wesley13 Wesley13
3年前
java memcached client
Memcach什么是MemcacheMemcache集群环境下缓存解决方案Memcache是一个高性能的分布式的内存对象缓存系统,通过在内存里维护一个统一的巨大的hash表,它能够用来存储各种格式的数据,包括图像、视频、文件以及数据库检索的结果等。简单的说就是将数据调用到内存中,然后从内存中读取,从而大大提高读取速度。Memcache是d
Stella981 Stella981
3年前
Spring cache整合Redis,并给它一个过期时间!
小Hub领读:不知道你们有没给cache设置过过期时间,来试试?上一篇文章中,我们使用springboot集成了redis,并使用RedisTemplate来操作缓存数据,可以灵活使用。今天我们要讲的是Spring为我们提供的缓存注解SpringCache。Spring支持多种缓存技术:RedisCacheManager
Stella981 Stella981
3年前
PHP 对 mysql 的事务处理
mysqlmysql事务处理php代码实现事务的处理可以通过PHP预定义类mysqli的以下方法实现。autocommit(boolean):该方法用于限定查询结果是否自动提交,如果该方法的参数为true则自动提交,如果参数为false则关闭自动提交。MySQL数据库默认为自动提交。rollback():利用mysqli类中的该
Easter79 Easter79
3年前
SpringBoot笔记5 事务特别篇——当@Transactional不起作用如何排查问题
spring对事务的管理,之前的博客文章中也介绍过,不再详细累述。本文想说的是,当@Transactional不起作用如何排查问题。可以按照以下几个步骤逐一确认:1、首先要看数据库本身对应的库、表所设置的引擎是什么。MyIsam不支持事务,如果需要,则必须改为InnnoDB。2、@Transactional所注解的方法是否为public3
Stella981 Stella981
3年前
C#的TextBox的四种禁止编辑方法
前言一般而言,Textbox中有两个属性可以对其进行防止编辑的设定,这是最基础的知识,也是我要提出的前两种方法。而后两种方法实际为一种,但可以应用于不同环境中。一、ReadOnly属性这样设置,Textbox控件则限制不能输入,但可以读取已有文本,样式也与正常使用的Textbox一致。1、在前端设置Readonly为true,样式如下:
Stella981 Stella981
3年前
SpringBoot笔记5 事务特别篇——当@Transactional不起作用如何排查问题
spring对事务的管理,之前的博客文章中也介绍过,不再详细累述。本文想说的是,当@Transactional不起作用如何排查问题。可以按照以下几个步骤逐一确认:1、首先要看数据库本身对应的库、表所设置的引擎是什么。MyIsam不支持事务,如果需要,则必须改为InnnoDB。2、@Transactional所注解的方法是否为public3
Wesley13 Wesley13
3年前
html文本框不可编辑,禁止用户修改的几种方法
解决思路: 在文本框的内容只作于演示而不允许用户随意修改时这样做就非常有必要。具体步骤: 方法一:设置readonly属性为true。Html代码<inputtype"text"value"readonly"readonly  <inputtype"text"value"readonly"
Wesley13 Wesley13
3年前
MySQL群讨论:你使用了什么方法防止误删数据?
MySQL群讨论,你都用了什么方法防止误删数据?答:根据大家的讨论,总结共有以下几个措施,供参考:1\.生产环境中,业务代码尽量不明文保存数据库连接账号密码信息;2\.重要的DML、DDL通过平台型工具自动实施,减少人工操作;3\.部署延迟复制从库,万一误删除时用于数据回档。且从库设置为readonly;4\.确认备份制度及
Stella981 Stella981
3年前
Spring MVC拦截器+注解方式实现防止表单重复提交
原理:在新建页面中Session保存token随机码,当保存时验证,通过后删除,当再次点击保存时由于服务器端的Session中已经不存在了,所有无法验证通过。1.新建注解/<p防止重复提交注解,用于方法上<br/在新建页面方法上,设置needSaveToken()为true,此时拦截器会
Wesley13 Wesley13
3年前
JS浏览器不缓存页面的几种方法
我们需不需要浏览器缓存?浏览器缓存,有时我们需要,有时我们不需要,就比如股票类型的网页就需要实时刷新数据,不能让页面从缓存里读取数据,如果对于一些不需要实时更新数据的网站来说,浏览器缓存可以提高加载速度,带来更好的用户体验,到底需不需要浏览器缓存,让我们自己操作!meta方法//不缓存<METAHTTPEQU
Easter79
Easter79
Lv1
今生可爱与温柔,每一样都不能少。
文章
2.8k
粉丝
5
获赞
1.2k