设计工作网站,wordpress英文版变中文版,学校网站群建设,怎么用阿里的域名 做网站目录 一、前言二、基础集成配置#xff08;redis单节点#xff09;2.1、POM2.2、添加配置文件2.3、添加启动类2.4、添加测试类测试redisson操作redis 一、前言
Redisson 是一个在 Redis 的基础上实现的 Java 驻内存数据网格#xff0c;Redisson相比较与Jedis和Lettuce来说最… 目录 一、前言二、基础集成配置redis单节点2.1、POM2.2、添加配置文件2.3、添加启动类2.4、添加测试类测试redisson操作redis 一、前言
Redisson 是一个在 Redis 的基础上实现的 Java 驻内存数据网格Redisson相比较与Jedis和Lettuce来说最大的区别就是Redisson提供了很多分布式相关操作服务例如分布式锁分布式集合可通过Redis支持延迟队列等一般建议Lettuce Redisson一起使用需要使用Redis高级功能就使用Redisson如果不需要使用高级功能优先推荐使用Lettuce。
二、基础集成配置redis单节点
工程结构
2.1、POM parentgroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-parent/artifactIdversion2.3.12.RELEASE/version/parentdependenciesdependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter/artifactId/dependencydependencygroupIdorg.redisson/groupIdartifactIdredisson-spring-boot-starter/artifactIdversion3.17.0/version/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-test/artifactIdscopetest/scope/dependency/dependencies2.2、添加配置文件
import org.redisson.Redisson;
import org.redisson.api.RedissonClient;
import org.redisson.codec.JsonJacksonCodec;
import org.redisson.config.Config;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;Configuration
public class RedissonConfig {private String redissonUrl redis://172.16.8.169:6379;private String password 123456;private Integer datebase 0;Beanpublic RedissonClient redisson() {Config config new Config();config.useSingleServer().setAddress(redissonUrl).setPassword((password null || .equals(password)) ? null : password).setDatabase(datebase)// 连接空闲超时如果当前连接池里的连接数量超过了最小空闲连接数而同时有连接空闲时间超过了该数值那么这些连接将会自动被关闭并从连接池里去掉。时间单位是毫秒。.setIdleConnectionTimeout(10000)// 连接超时同节点建立连接时的等待超时。时间单位是毫秒。.setConnectTimeout(10000)// 命令等待超时等待节点回复命令的时间。该时间从命令发送成功时开始计时。.setTimeout(1000)// 命令失败重试次数,如果尝试达到 retryAttempts命令失败重试次数 仍然不能将命令发送至某个指定的节点时将抛出错误。如果尝试在此限制之内发送成功则开始启用 timeout命令等待超时 计时.setRetryAttempts(3)// 命令重试发送时间间隔在一条命令发送失败以后等待重试发送的时间间隔。时间单位是毫秒。.setRetryInterval(1500)// 每个连接的最大订阅数量。.setSubscriptionsPerConnection(5)// 用于发布和订阅连接的最小保持连接数长连接。Redisson内部经常通过发布和订阅来实现许多功能。长期保持一定数量的发布订阅连接是必须的。.setSubscriptionConnectionMinimumIdleSize(1)// 用于发布和订阅连接的连接池最大容量。连接池的连接数量自动弹性伸缩。.setSubscriptionConnectionPoolSize(50)// 最小保持连接数长连接。长期保持一定数量的连接有利于提高瞬时写入反应速度。.setConnectionMinimumIdleSize(50)// 连接池最大容量。连接池的连接数量自动弹性伸缩。.setConnectionPoolSize(100)// 监测DNS的变化情况的时间间隔。时间单位是毫秒。.setDnsMonitoringInterval(5000)// PING 心跳时间单位毫秒。.setPingConnectionInterval(10000);// 0 cpu * 2config.setThreads(0);// 0 cpu * 2config.setNettyThreads(0);// 使用json序列化方式config.setCodec(new JsonJacksonCodec());//创建客户端(发现创建RedissonClient非常耗时基本在2秒-4秒左右)return Redisson.create(config);}
}2.3、添加启动类
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;SpringBootApplication
public class RedissonApplication {public static void main(String[] args) {SpringApplication.run(RedissonApplication.class);}
}2.4、添加测试类测试redisson操作redis
import org.junit.Test;
import org.junit.runner.RunWith;
import org.redisson.api.RBucket;
import org.redisson.api.RedissonClient;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;RunWith(SpringRunner.class)
SpringBootTest(classes RedissonApplication.class)
public class RedissonTest {Autowiredprivate RedissonClient redissonClient;Testpublic void t1(){String key key1;System.out.println(获取Bucket);RBucketObject bucket redissonClient.getBucket(key);System.out.println(插入数据到redis);bucket.set(value1);Object value bucket.get();System.out.println(从redis中获取到值为 value);Boolean delete bucket.delete();System.out.println(删除redis中值 delete);}
}