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

深圳做网站做公司网站的公司seo网站结构优化

深圳做网站做公司网站的公司,seo网站结构优化,网站建设政务新媒体,学校网站建设系统文章目录 逻辑实现POM.xmlRedissionConfigRedissionPropertiesRedissionUtilsspring.factories 功能测试application.yml配置POM.xmlTestController运行测试 本章内容主要介绍如何通过封装相关的redission连接配置和工具类,最终完成一个通用的redission starter。并…

文章目录

    • 逻辑实现
      • POM.xml
      • RedissionConfig
      • RedissionProperties
      • RedissionUtils
      • spring.factories
    • 功能测试
      • application.yml配置
      • POM.xml
      • TestController
      • 运行测试

本章内容主要介绍如何通过封装相关的redission连接配置和工具类,最终完成一个通用的redission starter。并且本文还会进行对封装的starter进行引入测试,最终实现想要的效果。
参考文章: SpringBoot日常:自定义实现SpringBoot Starter

逻辑实现

下面直接进入主题,介绍整体用到的文件和逻辑内容。首先需要创建一个maven项目,这一步省略

POM.xml

在pom配置文件中引入自动加载和redssion的依赖

<dependencies><dependency><groupId>org.redisson</groupId><artifactId>redisson-spring-boot-starter</artifactId><version>3.17.7</version></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-configuration-processor</artifactId><optional>true</optional></dependency>
</dependencies>

RedissionConfig

创建一个RedissionConfig的配置连接类,主要是加载相关的redis配置并进行连接

@Configuration
@ConditionalOnClass(Redisson.class)
@EnableConfigurationProperties({RedissionProperties.class})
public class RedissionConfig {@BeanRedissonClient redissonClient(RedissionProperties redissionProperties) {Config config = new Config();String prefix = "redis://";if (redissionProperties.isSsl()) {//加密prefix = "rediss://";}config.useSingleServer().setAddress(prefix+redissionProperties.getHost()+":"+ redissionProperties.getPort()).setConnectTimeout(redissionProperties.getTimeOut()).setPassword(redissionProperties.getPassword());return Redisson.create(config);}
}

RedissionProperties

创建一个RedissionProperties的配置类,主要包括一些redis相关的连接配置

@ConfigurationProperties(prefix="xxx.redission")
public class RedissionProperties {/*** 连接地址*/private String host;/*** 连接端口号*/private int port;/*** 认证密码*/private String password;/*** 超时时间 默认0*/private int timeOut;public String getHost() {return host;}public void setHost(String host) {this.host = host;}public int getPort() {return port;}public void setPort(int port) {this.port = port;}public String getPassword() {return password;}public void setPassword(String password) {this.password = password;}public int getTimeOut() {return timeOut;}public void setTimeOut(int timeOut) {this.timeOut = timeOut;}public boolean isSsl() {return isSsl;}public void setSsl(boolean ssl) {isSsl = ssl;}/*** 是否加密 默认不加密 false*/private boolean isSsl;
}

RedissionUtils

创建一个RedissionUtils的工具操作类,该工具类可以方便外部进行数据操作,本工具类并不完善,只有字符串的操作和锁操作,如需其他数据类型的操作,请自行补充

@Component
public final class RedissionUtils {@Autowiredprivate RedissonClient redissonClient;private static final long DEFAULT_GETLOCK_TIMEOUT = 5;public void set(String key, String vul) {redissonClient.getBucket(key).set(vul);}public Object get(String key) {return redissonClient.getBucket(key).get();}public String getString(String key) {RBucket<String> bucket = redissonClient.getBucket(key);return bucket.get();}public <T> void setAndExpire(String key, T value, long expiredTime) {RBucket<T> bucket = redissonClient.getBucket(key);bucket.set(value, expiredTime, TimeUnit.SECONDS);}/*** 获取锁* @param lockKey* @return*/public boolean getLock(String lockKey) {RLock rLock = redissonClient.getLock(lockKey);try {boolean res = rLock.tryLock(DEFAULT_GETLOCK_TIMEOUT,  TimeUnit.SECONDS);return res;} catch (Exception e) {e.printStackTrace();} finally {//无论如何, 最后都要解锁rLock.unlock();}return false;}/**** @param lockKey 锁的key* @param timeOut 获取锁的超时时间* @return*/public boolean getLock(String lockKey, long timeOut) {RLock rLock = redissonClient.getLock(lockKey);try {boolean res = rLock.tryLock(timeOut,  TimeUnit.SECONDS);return res;} catch (Exception e) {e.printStackTrace();} finally {//无论如何, 最后都要解锁rLock.unlock();}return false;}}

spring.factories

在resource/META-INF下需要创建一个自动装载配置文件spring.factories, 里面的内容如下,主要填写配置类和工具类的路径

org.springframework.boot.autoconfigure.EnableAutoConfiguration=\cn.cys.starter.redission.config.RedissionConfig,\cn.cys.starter.redission.utils.RedissionUtils

功能测试

完成逻辑实现以后,需要对上面的maven项目进行打包,再放入maven仓库(本地操作其实就是mvn install)
接着再创建一个maven项目,将redission starter引入,然后进行测试。具体的使用如下

application.yml配置

在application.yml填写相应的配置信息

xxx:redission:host: 192.168.110.110port: 6379password: CR2@wwqqsqsctimeOut: 5isSsl: false

POM.xml

pom文件引入redssion starter包

<dependency><groupId>cn.cys.easy.boot</groupId><artifactId>easy-redission-boot-starter</artifactId><version>1.0.0_base</version>
</dependency>

TestController

本文直接在controller进行引入操作测试

@RestController
public class TestController {@Autowiredprivate RedissionUtils redissonUtils;@GetMapping("/test")public void test() {redissonUtils.set("myname","lisi");System.out.println(redissonUtils.get("myname"));System.out.println(redissonUtils.getString("myname"));System.out.println("========test Redission start");}
}

运行测试

启动服务,调用接口查看
在这里插入图片描述

http://www.hkea.cn/news/233546/

相关文章:

  • 企业铭做网站域名解析在线查询
  • 怎么注册自己的小程序网站优化分析
  • 荆州网站建设流程网站设计培训
  • 网站支付怎么做的seo职业技能培训班
  • 做csgo直播网站上海知名网站制作公司
  • 深圳住建局官方网站seo网站关键词优化快速官网
  • 网站建设需要php吗企业的互联网推广
  • 苏中建设集团官方网站电商软文广告经典案例
  • 网站开发需要什么开发工具代做百度首页排名价格
  • 北京网站设计多少钱微信引流推广
  • 网站建设实施背景分析百度指数里的资讯指数是什么
  • 小程序定制开发深圳公司网站的优化seo
  • 构建一个网站域名查询平台
  • 蚌埠网站关键词优化推广下载
  • 看房地产的app在哪看aso安卓优化
  • 网站与域名的区别扬州整站seo
  • 哪些网站可以进行域名注册公司关键词seo
  • 如何申请一个网站 做视频百度小说搜索热度排行榜
  • 天津做网站选择津坤科技b重庆seo教程搜索引擎优化
  • 什么网站做热能表好百度一下电脑版首页网址
  • 点击图片直接进入网站怎么做如何使用免费b站推广网站
  • 手机网站建设软件怎么在百度上做广告推广
  • 南京做网站团队手机app免费制作平台
  • 17173游戏网搜索优化指的是什么
  • 公司做网站需要给百度交钱吗百度竞价推广方案
  • 网站建设的关键seo推广小分享
  • 写小说的小网站百度关键词排名优化
  • 制作网站的成本规划公司如何建立网站
  • html语言做网站石嘴山网站seo
  • 做最好的言情网站官网seo优化