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

公司网站建设宣传公司软件开发公司需要什么条件

公司网站建设宣传公司,软件开发公司需要什么条件,wordpress文章添加标签居中,商城网站开发技术注解开发 注解提供了更声明式和方便的方式#xff0c;而编码方式允许更精细的控制和定制。 在Java中#xff0c;当Redis充当缓存时#xff0c;使用注解的方式更为常见和方便。Spring Framework提供了一种基于注解的缓存机制#xff0c;称为Spring Cache。通过在方法上添加…注解开发 注解提供了更声明式和方便的方式而编码方式允许更精细的控制和定制。 在Java中当Redis充当缓存时使用注解的方式更为常见和方便。Spring Framework提供了一种基于注解的缓存机制称为Spring Cache。通过在方法上添加注解开发人员可以指定缓存的行为例如缓存的名称、缓存的过期时间等。使用注解的方式开发人员可以在代码中更直观地定义缓存逻辑而无需手动编写缓存代码。 Spring Cache提供了多个注解最常用的是Cacheable、CachePut和CacheEvict 。 Cacheable 用于标记方法应该被缓存 CachePut 用于将方法的结果存储到缓存中 CacheEvict 用于从缓存中删除数据 1、添加依赖 dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-cache/artifactId /dependency dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-data-redis/artifactId /dependency2、添加配置 application.properties spring.redis.hostlocalhost spring.redis.port6379 spring.cache.typeredis3、定义配置类 EnableCaching SpringBootConfiguration public class MyRedisConfig {Beanpublic RedisCacheManager redisCacheManager(RedisConnectionFactory factory) {GenericJackson2JsonRedisSerializer genericJackson2JsonRedisSerializer new GenericJackson2JsonRedisSerializer();StringRedisSerializer stringRedisSerializer new StringRedisSerializer();RedisCacheConfiguration config RedisCacheConfiguration.defaultCacheConfig().entryTtl(Duration.ofSeconds(100)).serializeKeysWith(RedisSerializationContext.SerializationPair.fromSerializer(st ringRedisSerializer)).serializeValuesWith(RedisSerializationContext.SerializationPair.fromSerializer( genericJackson2JsonRedisSerializer));return RedisCacheManager.builder(factory).cacheDefaults(config).build();} }4、在方法上添加对应的注解就可以达到缓存的目的 Service public class UserServImpl implements IUserServ{Cacheable(value users,key #id) 设置所使用的key值为users::传入的参数id值public User load(Long id) {System.out.println(执行业务逻辑);User usernew User();user.setId(99L);user.setUsername(zhangsan);user.setPassword(123456);return user;} }注解Cacheable Cacheable注解主要针对方法配置能够根据方法的请求参数和运行结果进行缓存比如如果缓存中存在该值则使用缓存数据 如果不在缓存中则执行业务逻辑处理并将执行结果存入缓存 value/cacheNames指定缓存空间的名称比配属性。可二选一使用。 key指定缓存中数据的key默认使用方法参数值也可使用SpEL表达式 keyGenerator指定缓存数据的key的生成器与key属性二选一使用 cacheManager指定缓存的管理器 cacheResolver指定缓存的解析器与cacheManager属性二选一使用 condition指定在符合某种条件下进行数据缓存不符合条件则不执行存储 unless指定在符合某种条件下不进行数据缓存 sync指定是否使用异步缓存默认为false。 CacheAable(valuedep,key#department.id)//缓存所使用的key值由value和key共同组成值为dept::再加上参数department对象中的id参数值 public Department listDepartment(Department department){System.out.println(加载信息department);departmentDao.loadDepartment(department);return department; }如果方法的返回值为空时不执行缓存则可以引入condition和unless设置缓存规则 Cacheable(value users,key #id,condition #result!null) 这里出现问题解决方案使用 Cacheable(value users,key #id,unless#result null) condition对入参进行判断符合条件的放入缓存不符合的不缓存condition能使用的只有#root和参数不能使用返回结果 unless是对出参进行判断符合条件的不缓存不符合的放入缓存而unless是可以使用#result的 注解EnableCaching EnableCaching主要用于开启基于注解的缓存支持用在应用主类或者配置类上 EnableCaching SpringBootConfiguration public class MyRedisConfig{}注解CacheConfig CacheConfig注解是加在类上用于抽取缓存的公共配置。 在类头上加了CacheConfig注解等同于每个方法上的缓存注解都加了cacheName或者value指定的组件并且这个组件来自CacheConfig也就是用于统筹管理类中所有使用Cacheable、CachePut…和CacheEvict 注解标注方法中的公共属性这些公共属性包括有cacheNames、keyGenerator 、cacheManager和cacheResolver CacheConfig(cacheNames users) //等价于在每个缓存注解上添加了valueusers Service public class UserServImpl implements IUserServ{Cacheable(valuebbb,key #id,unless#result null) //在类上有定义同时在方法上也有定义则局部优先public User load(Long id) {} }注解CachePut CachePut该注解用于设置缓存。表示在调用方法的同时又更新缓存它是默认先调用目标方法然后将目标方法的运行结果存入缓存不过需要注意的是如果要保持缓存同步更新这个注解使用的key需要和缓存的key保持一致。 和cacheable不同的是 Cacheable在运行在目标方法之前而它是目标方法之后因为它需要先拿到目标方法运行的结果 Cacheable不可以使用#result因为使用Cacheable标注的方法不一定会被调用可能获取不到result。 属性和cacheable基本一致就少了一个是否异步(sync)的属性 注解CacheEvict CacheEvict 该注解用于清理缓存。先进行方法调用然后将缓存进行清除。例如 CacheEvict(value”users”,key”#user.getName()”)其中的 Key 是用来指定缓存的 key 的 allEntries属性 表示是否清除指定缓存中的所有键值对既是否清除所有缓存设置为true时会清除缓存中的所有键值对默认为false即根据key清除缓存。所以它与key属性二选一使用 beforeInvocation属性 表示是否是在CacheEvict注解的方法调用之前清除指定缓存默认为false即在方法调用之后清除缓存设置为true时则会在方法调用之前清除缓存。在方法调用之前还是之后清除缓存的区别在于方法调用时是否会出现异常若不出现异常这两种设置没有区别若出现异常设置为在方法调用之后清除缓存将不起作用因为方法调用失败了。 注解Caching Caching该注解可以对缓存清理、设置 操作打包。用于针对复杂规则的数据缓存管理可以作用于类或方法在Caching注解内部包含有Cacheable、put和evict三个属性分别对应于Cacheable、CachePut和CacheEvict三个注解 Caching(cacheable{Cacheable(cacheNames comment,key #id)},put {CachePut(cacheNames comment,key. #result.author)} ) public Comment getcoiment(int id){return commentRepository.findByld(id).get(); }
http://www.zqtcl.cn/news/554553/

相关文章:

  • 九江集团网站建设app广告对接平台
  • 个人网页网站制作模板搜索引擎营销经典案例
  • 北京自助建站系统思茅区建设局网站
  • 国外被动收入网站做的好的成都网站建设 川icp备
  • 网站的微信推广怎么做php在电子商务网站建设中的应用研究 戴书浩
  • 中山做网站有什么做logo网站
  • 建设网站要什么手续义乌简游网络科技有限公司
  • 深圳做企业网站的音乐网站设计
  • 互联网网站如何做菜鸟教程自学网
  • 网站模板上传工具网站报名照片怎么做
  • 做网站如何备案东城做企业网站多少钱
  • 建设手机网站的目的广告制作行业发展前景
  • 手工艺品网站建设目的长春有哪些网络设计公司
  • 重庆建设工程招标网站淮南58同城网
  • 有域名在本机上做网站psd素材
  • 做拍拍拍拍网站网站宣传的劣势
  • 建设银行官方网站诚聘英才亚马逊店铺出售网站
  • 佛山房地产网站建设万网域名查询接口
  • 新建的网站必须要备案吗优购物网
  • 陕西省住房和城乡建设厅官方网站智能网站建设制作
  • 英语故事网站建设镇江大港信息港
  • 接单做一个网站多少钱商河网站建设
  • 网站建设s南昌网站建设服务
  • 免费的素材网站有哪些重庆网页设计公司排名
  • 内网网站建设汇报即商通网站建设推广
  • 企业建站系统是什么学校的网站怎么做的
  • 哪个大学的网站做的最好看网页制作教材素材
  • 南里商濮阳网站建设福田附件网站建设公司
  • 监控性能网站模板网页设计公司找哪家
  • 校园网站建设教程安卓小程序开发入门