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

企业网站的建设包括如何提取网页中的视频

企业网站的建设包括,如何提取网页中的视频,杭州设计公司招聘,wordpress国内几大主题目录 springboot集成caffeine Maven依赖 配置信息#xff1a;properties文件 config配置 使用案例 Caffeine定制化配置多个cachemanager springboot集成redis并且定制化配置cachemanager springboot集成caffeine Caffeine是一种基于服务器内存的缓存库。它将数据存储在…目录 springboot集成caffeine Maven依赖 配置信息properties文件 config配置 使用案例 Caffeine定制化配置多个cachemanager springboot集成redis并且定制化配置cachemanager springboot集成caffeine Caffeine是一种基于服务器内存的缓存库。它将数据存储在应用程序的内存中以实现快速的数据访问和高性能。 由于Caffeine缓存在服务器内存中存储数据因此它适用于需要快速读取和频繁访问的数据比如一些热门数据、配置信息、常用查询的结果等。但是它不适用于大规模数据或需要持久化存储的数据因为服务器内存有限无法存储大量数据并且缓存数据在应用程序重启后会丢失。 Maven依赖 parentgroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-parent/artifactIdversion2.5.2/versionrelativePath/ /parentdependenciesdependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter/artifactId/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-web/artifactId/dependency!-- caffeine服务器本地缓存 --dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-cache/artifactId/dependency!-- caffeine --dependencygroupIdcom.github.ben-manes.caffeine/groupIdartifactIdcaffeine/artifactIdversion2.8.1/version/dependency!-- 可以对自定义配置的信息进行提示 --dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-configuration-processor/artifactId/dependency /dependencies配置信息properties文件 /*** Caffeine Cache自定义配置属性类*/ Data //lombok插件的 看自己需求是否引入 Component ConfigurationProperties(prefix com.common.caffeine) //这个ConfigurationProperties是为了方便配置yaml文件 //如果有需要的话可以在yaml文件中进行配置需要与spring-boot-configuration-processor //这个依赖搭配使用 //然后再在resources目录下创建一个META-INF文件夹该文件夹下存放一个配置文件提升信息下面会贴出来的 //这样的话在yaml文件中进行书写的时候就会有提升信息了 public class CaffeineCacheProperties {/*** 缓存初始容量 映射的话会很灵活 羊肉串写法与驼峰命名都可以和下面的属性进行映射* com.ifi.performance.common.caffeine.init-cache-capacity*/private Integer initCacheCapacity 256;/*** 缓存最大容量超过之后会按照recently or very often最近最少策略进行缓存剔除* com.ifi.performance.common.caffeine.max-cache-capacity*/private Long maxCacheCapacity 10000L;/*** 是否允许空值null作为缓存的value* com.ifi.performance.common.caffeine.allow-null-value*/private Boolean allowNullValue Boolean.TRUE;} 配置yaml文件提升信息additional-spring-configuration-metadata.json {properties: [{name: com.ifi.performance.common.caffeine.init-cache-capacity,type: java.lang.Integer,description: Caffeine缓存的初始容量,defaultValue: 256},{name: com.ifi.performance.common.caffeine.max-cache-capacity,type: java.lang.Long,description: Caffeine缓存的最大容量,defaultValue: 10000L},{name: com.ifi.performance.common.caffeine.allow-null-value,type: java.lang.Boolean,description: Caffeine缓存是否允许null作为value的属性,defaultValue: true}] } 这样在yaml文件中输入com.common.caffeine的时候就会有提示信息了。 config配置 /*** 服务端公用缓存常量类*/ public interface CacheConstants {/*** 系统服务端公用缓存名称 默认缓存*/String CACHE_NAME server_cache; } 编写config配置文件CaffeineCacheConfig.java SpringBootConfiguration EnableCaching //开启注解扫描 Slf4j public class CaffeineCacheConfig {//刚刚编写的properties配置文件Autowiredprivate CaffeineCacheProperties properties;/*** 默认的全局缓存管理器* return*/Bean(defaultCacheManager)public CaffeineCacheManager defaultCacheManager() {CaffeineCacheManager defaultCacheManager new CaffeineCacheManager(CacheConstants.CACHE_NAME); //指定这个缓存的命名这里我是使用了一个常量类defaultCacheManager.setAllowNullValues(properties.getAllowNullValue());CaffeineObject, Object caffeineBuilder Caffeine.newBuilder().initialCapacity(properties.getInitCacheCapacity()).maximumSize(properties.getMaxCacheCapacity()) //从配置文件中获取最大容量.expireAfterWrite(7, TimeUnit.DAYS); //过期时间defaultCacheManager.setCaffeine(caffeineBuilder);log.info(the caffeine cache manager is loaded successfully!);return defaultCacheManager;} } 使用案例 这样配置好了之后就可以在controller、service中使用配置好的缓存了。 比如说我们要在service中进行使用案例如下 Autowired Qualifier(value defaultCacheManager) //这里可以直接使用Autowired就行Autowired默认是按照对象类型进行依赖注入如果容器中有两个及以上的同一种类型的bean那么就会报bean冲突的错误后面的定制化配置会用到这个Autowired private CaffeineCacheManager defaultCacheManager;Cache cache defaultCacheManager.getCache(CacheConstants.CACHE_NAME); //配置类中对这个cachemanager设置的缓存名称 //下面就可以通过cache操作数据存入缓存或者是从缓存中获取数据、删除数据了。 //存入缓存的数据是key-value形式的key最好是一个唯一的标识不然可能会出现缓存覆盖的情况value可以是一个字符串也可以是自定义的对象这里我是自定义了一个对象比如UserCache对象这个对象中有我需要缓存的数据比如userid等自己需要的数据 UserCache usercache new UserCache(); usercache.setuserId 123456; //实际业务场景中比如用户登录成功可以把用户id设置进来方便其他业务进行获取 LOGIN_INFO 常量为自定义的一个标识符方便在查询辨别缓存数据 cache.put(userIdCacheConstants.LOGIN_INFO,usercache);//特别注意get缓存数据的时候很大可能获取到的是null对象因为比如有一些业务没有被触发从而导致没有填充你需要的数据到缓存所以这里一定要加一个空指针判断 UserCache usercache cache.get( userId CacheConstants.LOGIN_INFO, UserCache.class); if(usercache null){return null; }//清除缓存中指定的数据 通过key来清除缓存中的数据比如用户退出登录了可以把他的一些缓存信息给清除 cache.evict(userId CacheConstants.LOGIN_INFO); 因为我们使用的缓存管理接口是spring-cache的spring-cache中的操作api中并没有提供设置数据缓存的过期时间的所以如果我们有这种业务需要比如验证码信息需要5分钟才过期用户登录信息30天才过期那么就需要定制化配置cachemanager了这样从源头上解决问题。 Caffeine定制化配置多个cachemanager 依赖与上面一致只需要修改CaffeineCacheConfig类与使用方式就行。 SpringBootConfiguration EnableCaching //开启注解扫描 Slf4j public class CaffeineCacheConfig {Autowiredprivate CaffeineCacheProperties properties;/*** 默认的全局缓存管理器* return*/Primary //必须要加这个注解用于标识一个Bean组件是首选的候选者。当有多个同类型的Bean组件时使用了Primary注解的Bean将会成为默认选择如果没有其他限定符如Qualifier指定具体要使用的Bean则会优先选择带有Primary注解的Bean。Bean(defaultCacheManager)public CaffeineCacheManager defaultCacheManager() {CaffeineCacheManager defaultCacheManager new CaffeineCacheManager(CacheConstants.ACHE_NAME);defaultCacheManager.setAllowNullValues(properties.getAllowNullValue());CaffeineObject, Object caffeineBuilder Caffeine.newBuilder().initialCapacity(properties.getInitCacheCapacity()).maximumSize(properties.getMaxCacheCapacity()).expireAfterWrite(7, TimeUnit.DAYS);defaultCacheManager.setCaffeine(caffeineBuilder);log.info(the caffeine cache manager is loaded successfully!);return defaultCacheManager;}/*** 用于管理验证码缓存设置过期时间为300秒*/Bean(verificationCodeCacheManager)public CaffeineCacheManager verificationCodeCacheManager() {CaffeineCacheManager verificationCodeCacheManager new CaffeineCacheManager(CacheConstants.CODE_CACHE_NAME);verificationCodeCacheManager.setCaffeine(Caffeine.newBuilder().initialCapacity(properties.getInitCacheCapacity()).maximumSize(properties.getMaxCacheCapacity()).expireAfterWrite(300, TimeUnit.SECONDS));log.info(the verificationCodeCacheManager cache manager is loaded successfully!);return verificationCodeCacheManager;}} 使用方式和上面的案例一致不过这个时候就必须使用Qualifier来指定相关的bean。其他使用方式都是一致的。 Autowired Qualifier(value defaultCacheManager) private CaffeineCacheManager defaultCacheManager;Autowired Qualifier(value verificationCodeCacheManager) private CaffeineCacheManager verificationCodeCacheManager; springboot集成redis并且定制化配置cachemanager 缓存使用到的Maven依赖 !-- 集成redis依赖 -- dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-data-redis/artifactId /dependency !-- 提供Redis连接池 -- dependencygroupIdorg.apache.commons/groupIdartifactIdcommons-pool2/artifactId /dependency yaml文件Redis部分的配置 spring:redis:database: 0host: localhostport: 6379password: abc123456 #这个看你的Redis版本一些老的Redis用的是auth一些比较新的用的是password配置timeout: 10slettuce:pool:# 连接池最大连接数max-active: 200# 连接池最大阻塞等待时间使用负值表示没有限制max-wait: -1ms# 连接池中的最大空闲连接max-idle: 10# 连接池中的最小空闲连接min-idle: 3 config配置类 SpringBootConfiguration EnableCaching Slf4j public class RedisCacheConfig {/*** 定制链接和操作Redis的客户端工具 配置一些序列化器这样通过缓存管理工具看到的缓存数据就不是乱码了* param redisConnectionFactory* return*/Beanpublic RedisTemplateString, Object redisTemplate(RedisConnectionFactory redisConnectionFactory) {RedisTemplateString, Object redisTemplate new RedisTemplate();redisTemplate.setConnectionFactory(redisConnectionFactory);//配置序列化器Jackson2JsonRedisSerializerObject jackson2JsonRedisSerializer new Jackson2JsonRedisSerializer(Object.class);ObjectMapper objectMapper new ObjectMapper();GenericJackson2JsonRedisSerializer genericJackson2JsonRedisSerializer new GenericJackson2JsonRedisSerializer();redisTemplate.setDefaultSerializer(genericJackson2JsonRedisSerializer);objectMapper.setVisibility(PropertyAccessor.ALL, JsonAutoDetect.Visibility.ANY);objectMapper.enableDefaultTyping(ObjectMapper.DefaultTyping.NON_FINAL);jackson2JsonRedisSerializer.setObjectMapper(objectMapper);redisTemplate.setKeySerializer(new StringRedisSerializer());redisTemplate.setHashKeySerializer(new StringRedisSerializer());redisTemplate.setHashValueSerializer(genericJackson2JsonRedisSerializer);redisTemplate.setValueSerializer(genericJackson2JsonRedisSerializer);redisTemplate.afterPropertiesSet();return redisTemplate;}/*** 默认的全局缓存管理器 配置一些序列化器这样通过缓存管理工具看到的缓存数据就不是乱码了* return*/Primary //关于这个相关的解释上面的caffeine配置中都有说明这里就不额外说明了Bean(defaultCacheManager)public RedisCacheManager defaultCacheManager(RedisConnectionFactory redisConnectionFactory) {GenericJackson2JsonRedisSerializer genericJackson2JsonRedisSerializer new GenericJackson2JsonRedisSerializer();StringRedisSerializer stringRedisSerializer new StringRedisSerializer();RedisCacheConfiguration config RedisCacheConfiguration.defaultCacheConfig().serializeKeysWith(RedisSerializationContext.SerializationPair.fromSerializer(stringRedisSerializer)).serializeValuesWith(RedisSerializationContext.SerializationPair.fromSerializer(genericJackson2JsonRedisSerializer));RedisCacheManager defaultCacheManager RedisCacheManager.builder(redisConnectionFactory).cacheDefaults(config).build();log.info(the redis defaultCacheManager is loaded successfully!);return defaultCacheManager;}/*** 用于管理验证码缓存设置过期时间为300秒*/Bean(verificationCodeCacheManager)public RedisCacheManager verificationCodeCacheManager(RedisConnectionFactory redisConnectionFactory) {GenericJackson2JsonRedisSerializer genericJackson2JsonRedisSerializer new GenericJackson2JsonRedisSerializer();StringRedisSerializer stringRedisSerializer new StringRedisSerializer();RedisCacheConfiguration config RedisCacheConfiguration.defaultCacheConfig().entryTtl(Duration.ofMinutes(5)).serializeKeysWith(RedisSerializationContext.SerializationPair.fromSerializer(stringRedisSerializer)).serializeValuesWith(RedisSerializationContext.SerializationPair.fromSerializer(genericJackson2JsonRedisSerializer));RedisCacheManager verificationCodeCacheManager RedisCacheManager.builder(redisConnectionFactory).cacheDefaults(config).build();log.info(the verificationCodeCacheManager cache manager is loaded successfully!);return verificationCodeCacheManager;}} 使用方式和上面的一致 Autowired Qualifier(value defaultCacheManager) private CaffeineCacheManager defaultCacheManager;Cache cache defaultCacheManager.getCache(CacheConstants.CACHE_NAME); //配置类中对这个cachemanager设置的缓存名称UserCache usercache new UserCache(); usercache.setuserId 123456; //实际业务场景中比如用户登录成功可以把用户id设置进来方便其他业务进行获取 LOGIN_INFO 常量为自定义的一个标识符方便在查询辨别缓存数据 cache.put(userIdCacheConstants.LOGIN_INFO,usercache);//特别注意get缓存数据的时候很大可能获取到的是null对象 UserCache usercache cache.get( userId CacheConstants.LOGIN_INFO, UserCache.class); if(usercache null){return null; }//清除缓存中指定的数据 通过key来清除缓存中的数据 cache.evict(userId CacheConstants.LOGIN_INFO);
http://www.zqtcl.cn/news/30687/

相关文章:

  • 平面设计创意网站建设网站建设华企云商
  • 网站建设程序员做什么湖南建设监理官方网站
  • 网站建设营销技巧ie浏览器官方网址入口
  • 洛阳哪里做网站品牌策划有限公司
  • 曲靖高端网站制作做网站例子
  • 南京市英语网站建设凡科自助建站平台
  • 上海网站制作工作室免费wordpress网站模板
  • 怎么建立企业网站免费的网站运营谁都可以做吗
  • 如何进行公司网站的建设制作返利网站
  • 最便宜网站外网怎么进入
  • p2p网站建设公司排名大连住房保障网官网
  • 网站建设优化服务熊掌号网站建设的优势
  • 怎么查看网站是否降权智慧团建密码只能是8位吗
  • PHP网站建设选择哪家好电商网站业务流程图
  • 洛阳专业做网站多少钱个人网站有哪些举例
  • 贵阳美容网站建设成都公司注册网
  • 做曖免费网站wordpress 购物分享
  • 南宁做网站的有几家销售平台有哪些电商
  • 老榕树智能建站软件寿宁建设局网站
  • 博星卓越营销网站设计报告总结网站建设实验
  • 山东兴润建设有限公司网站wordpress 图片本地化
  • 做网站现在赚钱吗深圳公司排名100强
  • 学校网站建设的应用意义案例东莞 营销网站
  • 没有后台的网站怎么做排名怎么制作网站小游戏
  • 南昌企业网站建设公司哪个好公司网站开发费计入办公费
  • 上海网站设计专注乐云seo网站正在建设中代码
  • 网站首页动图怎么做电商网站建设精英
  • 红色系列的网站点餐网站模板
  • js 网站源码为什么只有中国做网站需要备案
  • 网站建设需要什么能力关键词推广优化外包