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

月付购物网站建站个人做排行网站

月付购物网站建站,个人做排行网站,seo外链是什么,连锁店网站建设文章目录 前言Redission详细配置步骤pom依赖application.yaml配置类CacheConfigEnvironmentContext RedissionController单测 前言 本篇博客是SpringBoot整合Redission#xff0c;若文章中出现相关问题#xff0c;请指出#xff01; 所有博客文件目录索引#xff1a;博客… 文章目录 前言Redission详细配置步骤pom依赖application.yaml配置类CacheConfigEnvironmentContext RedissionController单测 前言 本篇博客是SpringBoot整合Redission若文章中出现相关问题请指出 所有博客文件目录索引博客目录索引(持续更新) Redission集成到springboot是有两种场景的第一个场景是针对单台节点第二个场景是针对多台节点。 当前配置是单台节点 配套源码地址 giteehttps://gitee.com/changluJava/demo-exer/tree/master/SpringBoot/springboot-redissiongithubhttps://github.com/changluya/Java-Demos/tree/master/SpringBoot/springboot-redission Redission详细配置步骤 。 pom依赖 dependenciesdependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-web/artifactId/dependencydependencygroupIdorg.redisson/groupIdartifactIdredisson-spring-boot-starter/artifactIdversion3.17.7/version/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-test/artifactIdscopetest/scope/dependencydependencygroupIdjunit/groupIdartifactIdjunit/artifactIdversion4.13.2/versionscopetest/scope/dependency/dependenciesapplication.yaml server:port: 8055 spring:redis:host: 127.0.0.1port: 6379database: 1password: 123456 # 直接配置参数 #redisson: # codec: org.redisson.codec.JsonJacksonCodec # threads: 4 # netty: # threads: 4 # single-server-config: # address: redis://localhost:6379 # password: 123456 # database: 0配置类 CacheConfig package com.changlu.redission.config;import io.micrometer.core.instrument.util.StringUtils; import org.redisson.Redisson; import org.redisson.api.RedissonClient; import org.redisson.config.Config; import org.redisson.config.SingleServerConfig; import org.redisson.config.TransportMode; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration;Configuration public class CacheConfig {Autowiredprivate EnvironmentContext environmentContext;Beanpublic RedissonClient redissonClient(){Config config new Config();config.setTransportMode(TransportMode.NIO);String redisPassword getRedisPassword();int redisDB environmentContext.getRedisDB();// 单节点服务器SingleServerConfig singleServerConfig config.useSingleServer();singleServerConfig.setAddress(getRedissonAddress());singleServerConfig.setDatabase(redisDB);if (StringUtils.isNotBlank(redisPassword)) {singleServerConfig.setPassword(redisPassword);}return Redisson.create(config);}private String getRedissonAddress() {return redis:// environmentContext.getRedisUrl() : environmentContext.getRedisPort();}public String getRedisPassword() {String redisPassword;try {redisPassword environmentContext.getRedisPassword();} catch (Exception e) {redisPassword environmentContext.getRedisPassword();}return redisPassword;}}EnvironmentContext package com.changlu.redission.config;import org.springframework.beans.factory.annotation.Autowired; import org.springframework.core.env.Environment; import org.springframework.stereotype.Component;Component public class EnvironmentContext {Autowiredprivate Environment environment;public String getRedisSentinel() {return environment.getProperty(spring.redis.sentinel.nodes, );}public int getRedisDB() {return Integer.parseInt(environment.getProperty(spring.redis.database, 1));}public String getRedisUrl() {return environment.getProperty(spring.redis.host, 127.0.0.1);}public String getRedisPassword() {return environment.getProperty(spring.redis.password);}public int getRedisPort() {return Integer.parseInt(environment.getProperty(spring.redis.port, 6379));} }RedissionController package com.changlu.redission.controller;import org.redisson.api.RLock; import org.redisson.api.RedissonClient; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController;import java.util.HashMap; import java.util.Map; import java.util.concurrent.TimeUnit;RestController RequestMapping(/redission) public class RedissionController {Autowiredprivate RedissonClient redissonClient;GetMapping(/key/{key})public MapString, String redission(PathVariable(key)String key) {RLock rLock redissonClient.getLock(key);try {boolean lock rLock.tryLock(10, 20, TimeUnit.SECONDS);System.out.println(lock: lock);if (lock) {//业务Thread.sleep(1000 * 10);}} catch (Throwable e) {e.printStackTrace();} finally {if (rLock.isLocked() rLock.isHeldByCurrentThread()) {rLock.unlock();}System.out.println(解锁);}return new HashMap();}}单测 SpringBootTest(classes SpringbootRedissionApplication.class) RunWith(SpringRunner.class) public class TestApplication {AutowiredApplicationContext context;// redisson客户端AutowiredRedissonClient redissonClient;// 测试分布式锁Testpublic void terst1() throws InterruptedException {RLock lock redissonClient.getLock(anyLock);new Thread(() - {lock.lock();try {System.out.println(Thread.currentThread().getName() :\t 获得锁);Thread.sleep(3000);} catch (InterruptedException e) {e.printStackTrace();} finally {System.out.println(Thread.currentThread().getName() :\t 释放锁);lock.unlock();}}).start();new Thread(() - {lock.lock();try {System.out.println(Thread.currentThread().getName() :\t 获得锁);Thread.sleep(3000);} catch (InterruptedException e) {e.printStackTrace();} finally {System.out.println(Thread.currentThread().getName() :\t 释放锁);lock.unlock();}}).start();Thread.sleep(100000);} }
http://www.tj-hxxt.cn/news/228729.html

相关文章:

  • 深圳营销型网站制作我爱水煮鱼 wordpress
  • 库尔勒网站商城建设网站改版效果图怎么做
  • 做网站购买模板常州模板网站建设价位
  • 营销型网站开发推荐广州和广州市注册公司区别
  • 外贸网站建设步骤宁乡电商网站建设价格
  • 哪个专业是学网站开发的开发公司绩效指标
  • 旅游交友的网站建设深度网
  • 衡水专业网站建设公司企业安全文化建设的内容
  • python 网站开发书籍微信红包开发平台
  • 做网站必须先买域名吗windows10PHP 网站建设
  • 珠海开发网站公司长春建站模板源码
  • 一个空间建多个网站扬中王老大
  • 企业品牌网站建设报价国外做论坛网站
  • 做包装的网站wordpress xampp 教程
  • 企业网站推广策划创建全国文明城市宣传栏
  • 医药招商网站大全免费商城服务是怎么赚钱
  • 网站开发需要的所有技术拓者室内设计官网拓者室内设计官网
  • 属于您自己的网站建设红酒专业网站建设
  • 地税网站如何做税种确认做餐饮网站
  • 石家庄网站建设推广报价软件开发项目总结报告
  • 沈阳旅游集团网站建设泛微oa手机版
  • 外贸公司网站建设费会计科目建立门派
  • 唐山制作网站的公司上海4a广告公司
  • 仿站WordPress申请免费个人网站空间
  • 半导体网站建设网站制作大概费用
  • 国外购物网站平台有哪些公益平台网站怎么做
  • 寿县住房与城乡建设局网站西安建筑网站建设
  • 嵌入式软件开发培训班365优化大师软件下载
  • 确定网站建设的目的装饰网站建设重要性
  • 大连建设网站公司线上销售培训班课程