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

动漫网站的建设目标效果最好h5制作软件

动漫网站的建设目标,效果最好h5制作软件,wordpress youku videos,视频号网页版怎么发布视频最近在做一个项目#xff0c;为处理并发性较差的问题#xff0c;使用了Mybatis二级缓存 但在多表联合查询的情况下#xff0c;Mybatis二级缓存是存在着数据脏读的问题的 两天就是在想办法解决这个数据脏读的问题 考虑到简易性、性能、兼容性、可扩展性#xff0c;我选择了s…最近在做一个项目为处理并发性较差的问题使用了Mybatis二级缓存 但在多表联合查询的情况下Mybatis二级缓存是存在着数据脏读的问题的 两天就是在想办法解决这个数据脏读的问题 考虑到简易性、性能、兼容性、可扩展性我选择了springboot自带的 Ehcache 框架来整合解决这个问题 我也是第一次接触到 Ehcache 这个框架所以也算从零开始   根据Mybatis二级缓存的特点我的思路是   每当 增删改 某张表 就清除刷新其关联的所有表的 缓存 这里可分为两个大小方向 在 增删改 的方法上做相关的 关联清除缓存 操作  ——  这个就比较细节化一点做的修改可能会比较多 在 增删改方法 所在类的整体上做相关的 关联清除缓存操作  —— 这个我需要做的修改就相对少点但这样里面每个方法包括一些无关紧要的都会触发这个清除缓存操作 都各有利弊   一路上并不顺利 一开始我尝试自己看能不能找到比较好的方法但刚接触一下子就自己解决也是不太可能的 但有看到一个解决Mybatis二级缓存问题的插件 —— GitHub上 LuanLouis 的 mybatis-enhanced-cache  但这个project是5年前写的而且最近一次更新也只是2年前现在技术发展那么快看到的时候就感觉可能不行 后面自己也下载了下来mvn install 发现不成功缺少ojdbc14的jar包 网上说ojdbc14.jar 是收费的所以中央库是导不了这个包 看了一些资料说Oracle安装目录里面有但公司这台没装Oracle 也有资料说可以用 ojdbc6 或其他ojdbc代替我就下载了ojdbc6 和ojdbc8 都试了一下都能够解决那个ojdbc jar包的问题 mybatis-enhanced-cache 插件的jar也成功导入了maven库和项目中但导入之后用的时候却又发现报各种错就觉得凉了 本来就是为了简单快速才想用别人的插件所以我不可能自己又去修改这个插件来用改了又不一定能用所以使用插件这个方案就只能放弃了   后来又找了网上很多资料也按很多示例的步骤做了 像各种注解、各种配置什么的都不知道是和mybatis的注解冲突了还是我写的无效 像网上很多资料说的mybatis二级缓存是不推荐使用的至于为什么我还要用可以看我前面一篇文章——  缓存的设计与使用  所以在方面遇到我这样问题的应该没几个也就找不到多少资料只能靠自己 想了很多可能性试了一次又一次想尽量做得简单点直接简单XML配置加注解 能够这样就好了。 但现实是残酷的做了不知多少次的尝试还是没成功无计可施最后还是只能放弃这个方案了   没有办法就只能选择最后一种方案了 —— 自己写代码在业务逻辑层 做处理 这对一无所知的菜鸟也不容易啊 好在坚持尝试最后终于找到解决方案 配置 ehcache.xml 1 ?xml version1.0 encodingUTF-8?2 !-- ehcache --3 ehcache xmlns:xsihttp://www.w3.org/2001/XMLSchema-instance4 xsi:noNamespaceSchemaLocationehcache.xsd5 6 !--7 磁盘存储:将缓存中暂时不使用的对象,转移到硬盘,类似于Windows系统的虚拟内存8 path:指定在硬盘上存储对象的路径9 path可以配置的目录有 10 user.home用户的家目录 11 user.dir用户当前的工作目录 12 java.io.tmpdir默认的临时目录 13 ehcache.disk.store.direhcache的配置目录 14 绝对路径如d:\\ehcache 15 查看路径方法String tmpDir System.getProperty(java.io.tmpdir); 16 -- 17 diskStore pathjava.io.tmpdir / 18 19 !-- 配置提供者 1、peerDiscovery提供者方式有两种方式自动发现(automatic)、手动配置(manual) 2、rmiUrls手动方式时提供者的地址多个的话用|隔开 -- 20 !-- cacheManagerPeerProviderFactory 21 classnet.sf.ehcache.distribution.RMICacheManagerPeerProviderFactory 22 propertiespeerDiscoverymanual,rmiUrls//127.0.0.1:40002/userCache / -- 23 cacheManagerPeerProviderFactory 24 classnet.sf.ehcache.distribution.RMICacheManagerPeerProviderFactory 25 propertiespeerDiscoveryautomatic, multicastGroupAddress230.0.0.1, multicastGroupPort4446,timeToLive255/ 26 !-- cacheManagerPeerProviderFactory 27 classorg.ehcache.distribution.RMICacheManagerPeerProviderFactory 28 propertiespeerDiscoveryautomatic, multicastGroupAddress230.0.0.1, multicastGroupPort4446,timeToLive255/ -- 29 30 !-- 配置监听器 1、hostName 主机地址 2、port 端口 3、socketTimeoutMillis socket子模块的超时时间默认是2000ms -- 31 !-- cacheManagerPeerListenerFactory 32 classnet.sf.ehcache.distribution.RMICacheManagerPeerListenerFactory 33 propertieshostName127.0.0.1, port40001, socketTimeoutMillis2000 / -- 34 cacheManagerPeerListenerFactory 35 classnet.sf.ehcache.distribution.RMICacheManagerPeerListenerFactory/ 36 37 38 !-- 39 defaultCache:默认的缓存配置信息,如果不加特殊说明,则所有对象按照此配置项处理 40 maxElementsInMemory:设置了缓存的上限,最多存储多少个记录对象 41 eternal:代表对象是否永不过期 (指定true则下面两项配置需为0无限期) 42 timeToIdleSeconds:最大的闲置时间 /秒 43 timeToLiveSeconds:最大的存活时间 /秒 44 overflowToDisk:是否允许对象被写入到磁盘 45 说明下列配置自缓存建立起600秒(10分钟)有效 。 46 在有效的600秒(10分钟)内如果连续120秒(2分钟)未访问缓存则缓存失效。 47 就算有访问也只会存活600秒。 48 -- 49 defaultCache maxElementsInMemory10000 eternalfalse 50 timeToIdleSeconds600 timeToLiveSeconds600 overflowToDisktrue / 51 52 cache name*.*.*.*.dao.WarnMapper maxElementsInMemory10000 eternalfalse 53 timeToIdleSeconds120 timeToLiveSeconds300 overflowToDisktrue / 54 55 cache name*.*.*.*.dao.ProjectMapper maxElementsInMemory10000 eternalfalse 56           timeToIdleSeconds120 timeToLiveSeconds300 overflowToDisktrue / 57 /ehcache 配置 application.properties  1 # Ehcache缓存 2 spring.cache.typeehcache 3 spring.cache.ehcache.configclasspath:/ehcache.xml 业务逻辑层代码 1 package *.*.*.common.utils;2 3 import net.sf.ehcache.Cache;4 import net.sf.ehcache.CacheManager;5 6 public class EhcacheUtil {7 8 // 构建一个缓存管理器9 private static CacheManager cacheManager CacheManager.newInstance(src/main/resources/ehcache.xml); 10 11 /** 12 * action 清除相关联的缓存 13 * param cacheName 缓存所在namespace的名称 14 * param keys 缓存所在namespace下key的名称为空则默认清空所有key 15 * return 16 */ 17 public static void clearRelatedCache( String cacheName, String[] keys ) { 18 Cache cache cacheManager.getCache(cacheName) ; 19 if ( cachenull ) { 20 return ; 21 } 22 //若缓存不为空 23 if ( keysnull || keys.length0 ) { 24 cache.removeAll(); 25 } 26 else { 27 for (String key : keys) { 28 cache.remove(key) ; 29 } 30 } 31 } 32 33 }   1 PostMapping(/delete)2 public Result delete(HttpServletRequest request) {3 Long projectId StringUtil.getLong(request.getParameter(id)) ;4 Project project projectService.findById(projectId) ;5 if(projectnull) {6 return ResultGenerator.genFailResult(ResultCode.UNAUTHORIZED, 工程id不正确);7 }8 projectService.deleteById(projectId);;9 EhcacheUtil.clearRelatedCache(CacheConstants.CACHE_NAMESPACE_WARNMAPPER, null) ; 10 return ResultGenerator.genSuccessResult(删除成功); 11 }     共同学习共同进步若有补充欢迎指出谢谢转载于:https://www.cnblogs.com/dengguangxue/p/11276791.html
http://www.pierceye.com/news/857470/

相关文章:

  • 卖营销软件的网站如何利用站群做网站
  • 网站空间价格怎么算网站制作与发布
  • 做网站的动态图片廊坊做网站哪家好
  • 建设企业网站报价怎么做网站logo
  • 企业类网站谷歌seo招聘
  • asp.net网站安装顺序idc 公司网站模板
  • 新手学做网站优化2022app分类排行
  • 微信微网站制作公司2008年做的网站
  • 网站建设柒首先金手指1男孩做网站
  • 葫芦岛市建设局网站网页制作与网站发布
  • 企业网站首页布局尺寸营销网站建设哪家便宜
  • 专题网站建设策划郑州市做网站的公
  • wordpress網頁版天津百度网站排名优化
  • 做网站建设销售工资代做电大网站ui作业
  • DMZ做网站wordpress 小工具 创建
  • 宠物网站建设方案外贸网站建设公司服务
  • 玉林网站建设学校门户网站建设的意义
  • 湖南营销型网站建设 在线磐石网络现在出入河南最新规定
  • 阿里云虚拟主机网站国内十大mcn公司
  • c 做网站起什么作用电商建站系统
  • wordpress 网站 上传微信公众平台直接上传wordpress
  • 北滘高明网站建设电子商城网站建设价格
  • 根据一个网站仿做新网站是什么网站代理公司注册收费
  • 创业给企业做网站开发青岛公司建设网站
  • 银川网站建设联系电话郑州网站建设廴汉狮网络
  • 在兔展上怎么做网站页面高端企业网站建站
  • 网站开发 调试网站做seo推广方案
  • 网站的服务器和空间微网站技术
  • 烟台软件优化网站敦煌网站建设
  • wordpress防抓取wordpress seo h1标签