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

wordpress可以建立多个站点定制网站的制作流程

wordpress可以建立多个站点,定制网站的制作流程,牛牛网站建设,建设网站有哪些目录 一级缓存 需求我们在一个测试中通过ID两次查询Monster表中的信息。 二级缓存 案例分许(和上述一样的需求) EhCache第三方缓存 在了解缓存机制之前#xff0c;我们要先了解什么是缓存#xff1a; ‌缓存是一种高速存储器#xff0c;用于暂时存储访问频繁的数据我们要先了解什么是缓存 ‌缓存是一种高速存储器用于暂时存储访问频繁的数据以提高数据存取速度。 所以缓存的目的就是用来提高检索的效率 在mybatis中我们是尽量避免java和DB的直接操作的因为本质上他是一个网络操作包括建立连接释放连接等效率很低耦合性高所以在java程序和数据库db之间有一个缓存机制db数据库会首先将查询的数据放入缓存下一次要用时java程序会直接从缓冲中取效率和速度都会大大的提高 文档地址:mybatis – MyBatis 3 | XML 映射器 一级缓存  1. 默认情况下 mybatis 是启用一级缓存的也就是 本地缓存 /local Cache 它是 SqlSession 级别的。 2. 同一个 SqlSession 接口对象调用了相同的 select 语句 , 会直接从缓存里面获取而不是再 去查询数据库。 3. 当我们执行 sqlSession.clearCache(); 会使一级缓存失效 需求我们在一个测试中通过ID两次查询Monster表中的信息。  二级缓存 1. 二级缓存和一级缓存都是为了提高检索效率的技术 2. 最大的区别就是作用域的范围不一样一级缓存的作用域是 sqlSession 会话级别,在一次 会话有效而二级缓存作用域是全局范围针对不同的会话都有效(就是在一个sqlsession和在多个sqlsession生效的区别) 二级缓存大致的工作原理 当java程序像数据库申请数据时首先执行的是CachingExecutor缓存执行器(默认是关闭二级缓存的)先去二级缓存中查找数据(这是mybatis自带的 也可以采用第三方的缓存库)如果查不到就调用Executor去查询本地的缓存也就是一级缓存。在查不到就去DB中查找数据  案例分许(和上述一样的需求) 1.首先在mybatis-config中配置映射缓存(默认是打开的) 2.使用二级缓存时 entity 类实现序列化接口 (serializable)因为二级缓存可能使用到序列化技术 因为比如一些三方缓存一级缓存是在内存中的二级缓存要将其存在磁盘中在java中奖对象保存在磁盘中就需要用到序列化技术 3. 在对应的 XxxMapper.xml 中设置二级缓存的策略  1. 理解二级缓存策略的参数 cache evictionFIFO flushInterval30000 size360 readOnlytrue/ 上面的配置意思如下 创建了 FIFO 的策略每隔 30 秒刷新一次最多存放 360 个对象而且返回的对象被认为是 只读的。 eviction缓存的回收策略 flushInterval:时间间隔单位是毫秒 size引用数目内存大就多配置点要记住你缓存的对象数目和你运行环境的可用内存 资源数目。默认值是 1024readOnly:true,只读 2. 四大策略 √ LRU – 最近最少使用的:移除最长时间不被使用的对象它是默认 √ FIFO – 先进先出:按对象进入缓存的顺序来移除它们。 √ SOFT – 软引用:移除基于垃圾回收器状态和软引用规则的对象。 √ WEAK – 弱引用:更积极地移除基于垃圾收集器状态和弱引用规则的对象 可以在XML文件中配置这些属性下面给大家解释 测试结果 Test public void test02() {Monster monsterById monsterMapper.getMonsterById(1);System.out.println(monsterById);if(sqlSession ! null){sqlSession.close();}System.out.println(因为开启了二级缓存将sqlSession关闭第二次存入二级缓存 中依然不会再次发送SQL语句);//此时的sqlSession是不一样的sqlSession了sqlSession MyBatisUtils.getSqlSession();//获取MonsterMapper对象通过类型获取对象monsterMapper sqlSession.getMapper(MonsterMapper.class);Monster monsterById2 monsterMapper.getMonsterById(1);System.out.println(monsterById2);if(sqlSession ! null){sqlSession.close();} } 我们如果需要指定哪些方法需要用二级缓存可以进行参数的指定 EhCache第三方缓存 配置文档 : https://www.cnblogs.com/zqyanywn/p/10861103.html 1. EhCache 是一个纯 Java 的缓存框架具有快速、精干等特点 2. MyBatis 有自己默认的二级缓存 ( 前面我们已经使用过了 ) 但是在实际项目中往往使用 的是更加专业的第三方缓存产品 作为 MyBatis 的二级缓存 ,EhCache 就是非常优秀的缓存 产品 1.在pom.xml文件中加入相关的依赖 dependencies !--引入EhCache--dependencygroupIdnet.sf.ehcache/groupIdartifactIdehcache-core/artifactIdversion2.6.11/version/dependency !--引入slf4j日志输出jar包--dependencygroupIdorg.slf4j/groupIdartifactIdslf4j-api/artifactIdversion1.7.25/version/dependency !--引入将mybatis和EhCache整合的jar包--dependencygroupIdorg.mybatis.caches/groupIdartifactIdmybatis-ehcache/artifactIdversion1.2.1/version/dependency/dependencies 2. mybatis-config.xml中 打开二级缓存 3.在resource下配置ehcache.xml配置文件(直接copy上去就行) 一些配置参数的文档说明: https://www.taobye.com/f/view-11-23.html ?xml version1.0 encodingUTF-8? ehcache xmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:noNamespaceSchemaLocationhttps://ehcache.org/ehcache.xsdupdateCheckfalse!--diskStore为缓存路径ehcache分为内存和磁盘两级此属性定义磁盘的缓存位置。参数解释如下user.home – 用户主目录user.dir – 用户当前工作目录java.io.tmpdir – 默认临时文件路径--diskStore pathjava.io.tmpdir/Tmp_EhCache/!--defaultCache默认缓存策略当ehcache找不到定义的缓存时则使用这个缓存策略。只能定义一个。--!--name:缓存名称。maxElementsInMemory:缓存最大数目maxElementsOnDisk硬盘最大缓存个数。eternal:对象是否永久有效一但设置了timeout将不起作用。overflowToDisk:是否保存到磁盘当系统当机时timeToIdleSeconds:设置对象在失效前的允许闲置时间单位秒。仅当eternalfalse对象不是永久有效时使用可选属性默认值是0也就是可闲置时间无穷大。timeToLiveSeconds:设置对象在失效前允许存活时间单位秒。最大时间介于创建时间和失效时间之间。仅当eternalfalse对象不是永久有效时使用默认是0.也就是对象存活时间无穷大。diskPersistent是否缓存虚拟机重启期数据 Whether the disk store persists between restarts of the Virtual Machine. The default value is false.diskSpoolBufferSizeMB这个参数设置DiskStore磁盘缓存的缓存区大小。默认是30MB。每个Cache都应该有自己的一个缓冲区。diskExpiryThreadIntervalSeconds磁盘失效线程运行时间间隔默认是120秒。memoryStoreEvictionPolicy当达到maxElementsInMemory限制时Ehcache将会根据指定的策略去清理内存。默认策略是LRU最近最少使用。你可以设置为FIFO先进先出或是LFU较少使用。clearOnFlush内存数量最大时是否清除。memoryStoreEvictionPolicy:可选策略有LRU最近最少使用默认策略、FIFO先进先出、LFU最少访问次数。FIFOfirst in first out这个是大家最熟的先进先出。LFU Less Frequently Used就是上面例子中使用的策略直白一点就是讲一直以来最少被使用的。如上面所讲缓存的元素有一个hit属性hit值最小的将会被清出缓存。LRULeast Recently Used最近最少使用的缓存的元素有一个时间戳当缓存容量满了而又需要腾出地方来缓存新的元素的时候那么现有缓存元素中时间戳离当前时间最远的元素将被清出缓存。--defaultCacheeternalfalsemaxElementsInMemory10000overflowToDiskfalsediskPersistentfalsetimeToIdleSeconds1800timeToLiveSeconds259200memoryStoreEvictionPolicyLRU/cachenamecloud_usereternalfalsemaxElementsInMemory5000overflowToDiskfalsediskPersistentfalsetimeToIdleSeconds1800timeToLiveSeconds1800memoryStoreEvictionPolicyLRU//ehcache 4. 在 XxxMapper.xml 中启用 EhCache 当然原来 MyBatis 自带的缓存配置就注销了 cache type org.mybatis.caches.ehcache.EhcacheCache / 使用测试时你用二级缓存的测试结果都一样。表现出来的效果差不多。 如何理解 EhCache 和 MyBatis 缓存的关系 1. MyBatis 提供了一个接口 Cache 2. 只要实现了该 Cache 接口就可以作为二级缓存产品和 MyBatis 整合使用 ,Ehcache 就 是实现了该接口 3. MyBatis 默认情况 ( 即一级缓存 ) 是使用的 PerpetualCache 类实现 Cache 接口的 , 是核心类 4.当我们使用了 Ehcahce 后就是 EhcacheCache 类实现 Cache 接口的是核心类 .
http://www.dnsts.com.cn/news/163515.html

相关文章:

  • 西安市未央区建设局官方网站网站做推广 建设哪种类型合适
  • 儿童 html网站模板如何做自己的业务网站
  • 孟村网站建设价格网站后台功能技术要求
  • 飞飞cms悠悠电影网站网站内页怎样做优化
  • seo排名点击器网站如何进行优化
  • 免费jsp源码分享网站深圳市交易服务中心
  • 广州网站建设:鞍山便民网
  • 迎访问中国建设银行网站-软件开发培训学校哪家好
  • 网上书城网站开发的结论与不足深圳企业倒闭
  • 自建网站平台 优帮云怎样淘宝seo排名优化
  • 汇鑫科技网站建设襄阳手机网站建设
  • 朝阳区网站建设敦化网站建设
  • 建站教程图解wordpress 查询数据
  • 湛江做网站软件全国企业年报网上申报
  • 昆明seo网站建设费用那个网站招丑的人做网红
  • 网站搜索不到了xx旅行社网站建设方案 企网站技术解决方案为申请虚拟主机
  • 微信网站如何制作软件重庆好的推广网站
  • c 做的网站怎么上传图片阳江市住房和城乡建设局网站
  • 网站建设公司落寞美食网站设计论文
  • 天津 网站策划天河做网站公司
  • 学做湘菜的视频网站简述seo的优化流程
  • 查询建设资质的网站实用设计网站推荐
  • 低价网站建设推广报价宁波 seo排名公司
  • 专业做网站优化需要多久怎么建好网站
  • 公司做网站主机是什么用途网站流量分析系统
  • 网站建设论文标题wordpress汉化插件下载
  • 专业柳州网站建设推荐半月报网站建设商务代表工作总结
  • 网页建立站点办公室效果图
  • 效果好的徐州网站开发域名查询入口
  • 笑话网站源码下载济源市工程建设监理所网站