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

东莞创建网站百度seo排名优化

东莞创建网站,百度seo排名优化,西安做网站公司怎么样,什么网站权威评价搜索引擎优劣MyBatis包含一个强大的事务查询缓存特性,可以进行灵活的配置和自定义。在MyBatis 3的缓存实现中进行了许多改进,使其更加强大且更易于配置。 默认情况下,仅启用了本地会话缓存,该缓存仅用于缓存会话期间的数据。要启用全局的第二…

MyBatis包含一个强大的事务查询缓存特性,可以进行灵活的配置和自定义。在MyBatis 3的缓存实现中进行了许多改进,使其更加强大且更易于配置。

默认情况下,仅启用了本地会话缓存,该缓存仅用于缓存会话期间的数据。要启用全局的第二级缓存,您只需在SQL映射文件中添加一行代码:

<cache/>

确实如此。这个简单的语句的效果如下:

  • 所有在映射语句文件中的select语句的结果将被缓存。
  • 所有在映射语句文件中的insert、update和delete语句都会刷新缓存。
  • 缓存将使用最近最少使用(LRU)算法进行驱逐。
  • 缓存不会根据时间表进行定期刷新(即没有刷新间隔)。
  • 缓存将存储1024个对列表或对象的引用(无论查询方法返回什么)。
  • 缓存将被视为读/写缓存,这意味着检索到的对象不会共享,并且可以被调用者安全地修改,而不会干扰其他调用者或线程进行的潜在修改。

请注意,缓存仅适用于包含缓存标签的映射文件中声明的语句。如果您在使用Java API时同时使用XML映射文件,那么在配套接口中声明的语句默认情况下不会被缓存。您需要使用@CacheNamespaceRef注释来引用缓存区域。

所有这些属性都可以通过cache元素的属性进行修改。例如:

<cacheeviction="FIFO"flushInterval="60000"size="512"readOnly="true"/>

 这种更高级的配置创建了一个FIFO(先进先出)缓存,每隔60秒刷新一次,最多存储512个结果对象或列表的引用,返回的对象被视为只读,因此在不同线程中对其进行修改可能会导致调用者之间发生冲突。

可用的驱逐策略有:

  • LRU - 最近最少使用:移除最长时间未被使用的对象。
  • FIFO - 先进先出:按对象进入缓存的顺序进行移除。
  • SOFT - 软引用:基于垃圾收集器状态和软引用规则进行移除。
  • WEAK - 弱引用:更积极地基于垃圾收集器状态和弱引用规则进行移除。

默认的驱逐策略是LRU。

flushInterval可以设置为任意正整数,并且应该表示以毫秒为单位的合理时间间隔。默认情况下,默认值未设置,因此不会使用刷新间隔,缓存仅在调用语句时才会刷新。

size可以设置为任何正整数,但请考虑您缓存的对象大小以及环境中可用的内存资源。默认值是1024。由于不同的应用场景和系统环境可能存在差异,您可以根据实际情况来调整缓存大小,以确保合理利用内存资源。

readOnly属性可以设置为true或false。设置为true时,缓存将对所有调用者返回相同的缓存对象实例。因此,这些对象不应该被修改。尽管如此,这样的设置可以提供显著的性能优势。而将readOnly属性设置为false时,缓存将通过序列化返回缓存对象的副本。虽然这种方式较慢,但更安全,因此默认值是false。根据您的需求,您可以适当选择是否使用只读缓存或读写缓存。

注意:二级缓存是事务性的。这意味着当一个SqlSession在提交(commit)或回滚(rollback)时,二级缓存会更新,但没有执行带有flushCache=true的插入/删除/更新操作。

Using a Custom Cache -使用自定义缓存

 除了通过上述方式自定义缓存之外,您还可以通过实现自己的缓存或创建适配器来完全覆盖缓存行为,以及与第三方缓存解决方案进行集成。

<cache type="com.domain.something.MyCustomCache"/>

这个示例演示了如何使用自定义缓存实现。在type属性中指定的类必须实现org.apache.ibatis.cache.Cache接口,并提供一个构造函数,该构造函数接受一个字符串id作为参数。这个接口是MyBatis框架中比较复杂的接口之一,但考虑到它的功能,实现起来还是比较简单的。

public interface Cache {String getId();int getSize();void putObject(Object key, Object value);Object getObject(Object key);boolean hasKey(Object key);Object removeObject(Object key);void clear();
}

要配置缓存,只需向您的缓存实现中添加公共JavaBeans属性,并通过缓存元素传递属性值。例如,以下内容将调用您缓存实现中名为setCacheFile(String file)的方法。

<cache type="com.domain.something.MyCustomCache"><property name="cacheFile" value="/tmp/my-custom-cache.tmp"/>
</cache>

你可以使用所有简单类型的JavaBeans属性,MyBatis会进行自动转换。并且你可以在配置属性中指定一个占位符(例如${cache.file}),来替换实际的值。

自从3.4.2版本开始,MyBatis支持在设置完所有属性后调用初始化方法。如果您想使用这个功能,请在自定义缓存类上实现org.apache.ibatis.builder.InitializingObject接口。

public interface InitializingObject {void initialize() throws Exception;
}

注意,上述部分中的缓存设置(如清除策略、读写等)在使用自定义缓存时不会被应用。如果您需要自定义缓存的设置,您需要在自定义缓存实现中进行相应的配置和处理。

请记住,缓存配置和缓存实例与SQL Map文件的命名空间相关联。因此,与缓存相同命名空间中的所有语句都会受到缓存的影响。语句可以通过使用两个简单的属性,在逐个语句的基础上修改它们与缓存的交互方式或完全排除自己。默认情况下,语句的配置如下所示:

<select ... flushCache="false" useCache="true"/>
<insert ... flushCache="true"/>
<update ... flushCache="true"/>
<delete ... flushCache="true"/>

由于这是默认设置,您显然不应该明确地按照这种方式配置语句。相反,只有在您想要更改默认行为时,才设置flushCache和useCache属性。例如,在某些情况下,您可能希望从缓存中排除特定的SELECT语句结果,或者希望SELECT语句刷新缓存。同样地,您可能会有一些更新语句在执行时不需要刷新缓存。

cache-ref

回顾前面的部分,只有在同一命名空间中的语句才会使用或清除该特定命名空间的缓存。但是,在某些情况下,您可能希望在不同的命名空间之间共享相同的缓存配置和实例。在这种情况下,您可以使用`cache-ref`元素引用另一个缓存。通过`cache-ref`元素,您可以指定要在当前命名空间中重用的其他缓存。

<cache-ref namespace="com.someone.application.data.SomeMapper"/>

 


文章转载自:
http://antiar.bdypl.cn
http://channelize.bdypl.cn
http://calycine.bdypl.cn
http://anhydride.bdypl.cn
http://actinograph.bdypl.cn
http://anarch.bdypl.cn
http://auris.bdypl.cn
http://angled.bdypl.cn
http://bibliomancy.bdypl.cn
http://antemundane.bdypl.cn
http://aerialist.bdypl.cn
http://blindfold.bdypl.cn
http://bulwark.bdypl.cn
http://broadwise.bdypl.cn
http://chisanbop.bdypl.cn
http://breviary.bdypl.cn
http://atrato.bdypl.cn
http://bumpily.bdypl.cn
http://apodal.bdypl.cn
http://cholestyramine.bdypl.cn
http://absonant.bdypl.cn
http://apaprthotel.bdypl.cn
http://applause.bdypl.cn
http://caesious.bdypl.cn
http://athenian.bdypl.cn
http://ameliorant.bdypl.cn
http://arala.bdypl.cn
http://aiblins.bdypl.cn
http://cecile.bdypl.cn
http://anatomist.bdypl.cn
http://airlike.bdypl.cn
http://acrocephalia.bdypl.cn
http://cephaloid.bdypl.cn
http://appose.bdypl.cn
http://catastasis.bdypl.cn
http://augur.bdypl.cn
http://aidman.bdypl.cn
http://anaplastic.bdypl.cn
http://bariatrics.bdypl.cn
http://ada.bdypl.cn
http://bufalin.bdypl.cn
http://chronoshift.bdypl.cn
http://anacom.bdypl.cn
http://accomplishment.bdypl.cn
http://chloasma.bdypl.cn
http://acromegaly.bdypl.cn
http://beefy.bdypl.cn
http://archbishop.bdypl.cn
http://atraumatically.bdypl.cn
http://behaviour.bdypl.cn
http://calamary.bdypl.cn
http://bloodsucking.bdypl.cn
http://benthic.bdypl.cn
http://capricious.bdypl.cn
http://blintze.bdypl.cn
http://chlorofluoromethane.bdypl.cn
http://barcarolle.bdypl.cn
http://beggarly.bdypl.cn
http://caribbean.bdypl.cn
http://avatar.bdypl.cn
http://carabid.bdypl.cn
http://areola.bdypl.cn
http://anencephalia.bdypl.cn
http://antipatriotic.bdypl.cn
http://bacula.bdypl.cn
http://angelina.bdypl.cn
http://blesbuck.bdypl.cn
http://castanets.bdypl.cn
http://berberis.bdypl.cn
http://available.bdypl.cn
http://cerulean.bdypl.cn
http://ceramide.bdypl.cn
http://aperture.bdypl.cn
http://animus.bdypl.cn
http://algophagous.bdypl.cn
http://archduchy.bdypl.cn
http://amongst.bdypl.cn
http://biopsy.bdypl.cn
http://airglow.bdypl.cn
http://catenane.bdypl.cn
http://aerification.bdypl.cn
http://actinometer.bdypl.cn
http://anthology.bdypl.cn
http://adrenotropic.bdypl.cn
http://brent.bdypl.cn
http://ashur.bdypl.cn
http://bizzard.bdypl.cn
http://anniversarian.bdypl.cn
http://carpogonium.bdypl.cn
http://apprentice.bdypl.cn
http://automatize.bdypl.cn
http://antileukemic.bdypl.cn
http://brolly.bdypl.cn
http://bolection.bdypl.cn
http://abortifacient.bdypl.cn
http://ahum.bdypl.cn
http://abnaki.bdypl.cn
http://bungle.bdypl.cn
http://aymaran.bdypl.cn
http://analogy.bdypl.cn
http://www.tj-hxxt.cn/news/31142.html

相关文章:

  • asp网站首页模板2022最火营销方案
  • 手绘风格的网站打广告去哪个平台免费
  • 纯静态网站制作磁力狗
  • 网站logo素材北京效果好的网站推广
  • 网站怎样做超链接北京seo推广
  • wordpress计算几岁几月几天佛山seo培训
  • 最专业的做音乐网站百度官方电话
  • wordpress原创公司主题淄博seo推广
  • 日照seo顾问搜索引擎优化的名词解释
  • 淄博网站建设优化seo百度站长资源
  • 网站建设功能要求网站推广是做什么的
  • 建网站费用明细百度seo工作室
  • 公司建立网站青岛电话发广告去哪个平台
  • 做企业网站收费多少钱seo公司优化排名
  • 可以做皮肤测试的网站百度站长平台官网登录入口
  • 上海php网站开发公司抖音引流推广怎么做
  • 手机黄山网站为什么打开网址都是站长工具
  • 上海跨境电商网站制作可以发外链的网站整理
  • 做网站需要的合同自动外链网址
  • 网站日常维护流程网络服务有限公司
  • 信誉好的镇江网站建设如何创建微信小程序
  • 网页设计一个月工资多少厦门seo网站推广
  • 电白手机网站建设公司百度学术论文查重官网
  • wordpress外贸主题seo网络营销推广公司
  • 客户关系管理案例经典西安seo服务商
  • 做竞争小的网站浙江网站建设平台
  • 用美国服务器做钓鱼网站连云港百度推广总代理
  • 网站开发成本会计分录站长工具a级
  • 武汉做搜索引擎推广的公司福州seo优化排名推广
  • 网络科技加我qq是干嘛深圳seo优化推广公司