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

传销网站建设陕西百度推广的代理商

传销网站建设,陕西百度推广的代理商,汽车网站建设页面,开一个素材设计网站怎么做Spring Boot 整合 Redisson 缓存 (官网) 介绍: Redisson是一个在Redis的基础上实现的Java驻内存数据网格(In-Memory Data Grid)。它不仅提供了一系列的分布式的Java常用对象,还提供了许多分布式服务。其中包括(BitSet, Set, Multimap, Sorte…

Spring Boot 整合 Redisson 缓存 (官网)

介绍:

Redisson是一个在Redis的基础上实现的Java驻内存数据网格(In-Memory Data Grid)。它不仅提供了一系列的分布式的Java常用对象,还提供了许多分布式服务。其中包括(BitSet, Set, Multimap, SortedSet, Map, List, Queue, BlockingQueue, Deque, BlockingDeque, Semaphore, Lock, AtomicLong, CountDownLatch, Publish / Subscribe, Bloom filter, Remote service, Spring cache, Executor service, Live Object service, Scheduler service) Redisson提供了使用Redis的最简单和最便捷的方法。Redisson的宗旨是促进使用者对Redis的关注分离(Separation of Concern),从而让使用者能够将精力更集中地放在处理业务逻辑上。

如果你现在正在使用其他的Redis的Java客户端,那么Redis命令和Redisson对象匹配列表 能够帮助你轻松的将现有代码迁徙到Redisson框架里来。

Redisson底层采用的是Netty 框架。支持Redis 2.8以上版本,支持Java1.6+以上版本。

例子Boot版本:

<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.7.5</version>

1.0 依赖

Integrates Redisson with Spring Boot library. Depends on Spring Data Redis module.

将Redisson与Spring Boot库集成。取决于Spring Data Redis模块。

<dependency><groupId>org.redisson</groupId><artifactId>redisson-spring-boot-starter</artifactId><version>2.15.2</version>
</dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-redis</artifactId><!--    排除掉官方默认的 lettuce    --><exclusions><exclusion><groupId>io.lettuce</groupId><artifactId>lettuce-core</artifactId></exclusion></exclusions>
</dependency>

2.0 简单配置文件模式

spring:redis:database: 0host: '127.0.0.1'port: 6379password: '@'ssl: false

3.0 配置文件 (这里配置单一模式)

spring:redis:redisson:# 下面 config的值是个字符串config: |# (以下值除了连接信息都是默认值)singleServerConfig:# 客户端连接的名称clientName: null# 连接地址address: "redis://127.0.0.1:6379"# 连接服务器密码password: null# 如果池连接在超时时间内未使用且当前连接数量大于最小空闲连接池大小,则它将关闭并从池中删除, 以毫秒为单位的值idleConnectionTimeout: 10000# 连接 Redis 服务器超时, 以毫秒为单位的值connectTimeout: 10000# Redis 服务器响应超时, Redis 命令发送成功后开始倒计时, 以毫秒为单位的值timeout: 3000# Redis 命令无法发送到服务器的重试次数retryAttempts: 3# 重试间隔时间retryInterval: 1500# 连接池最小空闲连接数connectionMinimumIdleSize: 24# 连接池大小connectionPoolSize: 64# 尝试连接的数据库编号database: 0# DNS监测时间间隔,监测DNS的变化情况的时间间隔, 单位:毫秒dnsMonitoringInterval: 5000# Redisson内部经常通过发布和订阅来实现许多功能。长期保持一定数量的发布订阅连接是必须的# Redis 单个连接最大订阅数量 (以下是默认值)subscriptionsPerConnection: 5# Redis 多从节点的环境里,每个从服务节点里用于发布和订阅连接的最小保持连接数(长连接)subscriptionConnectionMinimumIdleSize: 1# 发布和订阅连接池大小subscriptionConnectionPoolSize: 50# 线程池数量threads: 16# Netty线程池数量nettyThreads: 32# Redis 数据编解码器。在读写 Redis 数据时使用。有几种实现方式可用codec: !<org.redisson.codec.Kryo5Codec> {}# 传输模式 (默认NIO)# EPOLL 要依赖里有netty-transport-native-epoll包 (linux)transportMode: "NIO"

(单一模式、 复制模式、 集群模式、 哨兵模式、 代理模式)

配置项需要参照org.redisson.config.Config,如果你想配置集群模式的Redisson,就点 Config的成员变量clusterServersConfig去看下里边有哪些可配置项。

  • lockWatchdogTimeout(监控锁的看门狗超时,单位:毫秒)

默认值:30000

监控锁的看门狗超时时间单位为毫秒。该参数只适用于分布式锁的加锁请求中未明确使用leaseTimeout参数的情况。如果该看门口未使用lockWatchdogTimeout去重新调整一个分布式锁的lockWatchdogTimeout超时,那么这个锁将变为失效状态。这个参数可以用来避免由Redisson客户端节点宕机或其他原因造成死锁的情况。

  • 框架提供的 RedissonAutoConfiguration 已经进行了自动装配, 下面就已经可以进行使用了

Available Spring Beans:

  • RedissonClient
  • RedissonRxClient
  • RedissonReactiveClient
  • RedisTemplate
  • ReactiveRedisTemplate

Try Redisson PRO with ultra-fast performance and support by SLA.

数据序列化说明

Redis命令和Redisson对象匹配列表

4.0 简单API (详细看官网(中文目录)的6.0 - 8.0)

4.1 分布式对象

Redisson的分布式RBucketJava对象是一种通用对象桶可以用来存放任类型的对象。 除了同步接口外,还提供了异步(Async)、反射式(Reactive)和RxJava2标准的接口。

// 注入RedissonClient (ps: 也兼容了RedisTemplate, 在RedissonAutoConfiguration可看到配置了)
@Autowired
private RedissonClient redissonClient;@Test
public void myEST() throws Exception {RBucket<String> testBucket = redissonClient.getBucket("test_Bucket");// 设置值, 并在10秒后失效  (testBucket.setAsync()是异步API或者看文档)testBucket.set("tenSecond", 10L,TimeUnit.SECONDS);System.out.println("testBucket.getExpireTime() = " + testBucket.getExpireTime());System.out.println("testBucket.get() = " + testBucket.get());System.out.println("testBucket.isExists() = " + testBucket.isExists());TimeUnit.SECONDS.sleep(10L);System.out.println("testBucket.get() = " + testBucket.get());System.out.println("testBucket.isExists() = " + testBucket.isExists());
}testBucket.getExpireTime() = 1678090013002
testBucket.get() = tenSecond
testBucket.isExists() = true
testBucket.get() = null
testBucket.isExists() = false

其他的看官网文档

4.2 分布式集合

@Test
public void myEST() throws Exception {RMap<String, Object> test_map = redissonClient.getMap("test_Map");// 不会返回旧值, 快速putboolean fastPut = test_map.fastPut("t", "hhhh");System.out.println("fastPut = " + fastPut);Object put = test_map.put("t", "ggggg");System.out.println("put = " + put);// 30秒后过期boolean expire = test_map.expire(Duration.ofSeconds(30L));System.out.println("expire = " + expire);
}
fastPut = true
put = hhhh
expire = true

同时提供了, 带元素过期(getMapCache())、 本地缓存功能 (getLocalCachedMap())

其他的Set、 List、 队列、排序集看官网文档

4.3 分布式锁 (以前已经记录过, 更为详细看官网文档)

支持分布式的 普通的可重入锁、 公平锁、 联锁(所有都上锁成功才算加锁成功) 、 红锁、 读写锁(ReadWriteLock)、

信号量(Semaphore)、 闭锁(CountDownLatch)

1

http://www.hrbkazy.com/news/8944.html

相关文章:

  • 已认证网站服务费怎么做搜索引擎名词解释
  • 怎么看网站是哪里做的今日新闻大事
  • 深圳在哪些网站上面做推广怎么制作网站教程步骤
  • 网站建设朋友圈广告网络优化工具app手机版
  • 昆山靠谱的网站建设公司aso优化什么意思是
  • 长春做网站公司哪家好短视频营销推广
  • 免费空间做淘宝客网站太原seo服务
  • 网站大图分辨率做多大网店运营流程步骤
  • 用什么软件做商务网站seo和sem的区别是什么
  • 沈阳 建设工程 招标中心网站seo关键词快速排名介绍
  • 关停网站的申请结构优化设计
  • 做网站分什么软件四川网络推广seo
  • 网站建设套餐报晋城seo
  • 贸易公司网站模板女教师遭网课入侵直播录屏曝光8
  • 服务器512m内存做网站批量关键词排名查询工具
  • 网站上实用的h5特效怎么优化自己网站的关键词
  • 网站如何优化关键词排名哪个公司网站设计好
  • 网站建设费用会计入什么费用今日热搜头条
  • 网站建设怎么选择MySQL数据库大小网站制作的基本流程是什么
  • 做淘宝货源批发的网站百度开放云平台
  • 网页无法访问 wordpressseo基础篇
  • 数据分析案例网站平台交易网
  • 济南建网站价格网站推广的全过程
  • 怎么样建立学校网站网络营销的作用
  • 南京网站做的好的公司seo描述是什么
  • eclipse做企业网站长尾词挖掘
  • 做网站要偶数网站收录优化
  • 艺术网站欣赏百度指数排行榜
  • 深圳手机网站建设价格低互动营销的概念
  • 网站设置反爬虫的常用方法有哪些唐山公司做网站