SpringBoot整合redis集群并使用StringRedisTemplate和RedisTemplate简单操作Redis集群
2019-03-15 12:37
946 查看
Redis集群安装参考:https://blog.csdn.net/weixin_42465125/article/details/87885133
pom依赖:
[code]<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.1.3.RELEASE</version> <relativePath/> <!-- lookup parent from repository --> </parent> <groupId>cn.cuit.redis</groupId> <artifactId>redis-demo</artifactId> <version>0.0.1-SNAPSHOT</version> <name>redis-demo</name> <description>Demo project for Spring Boot</description> <properties> <java.version>1.8</java.version> </properties> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build> </project>
properties配置文件:
[code]spring.application.name=spring-boot-redis # spring.redis.host=192.168.174.221 spring.redis.cluster.nodes=192.168.174.221:6381, 192.168.174.221:6382, 192.168.174.221:6383, 192.168.174.221:6384, 192.168.174.221:6385, 192.168.174.221:6386 # 新版 spring.redis.jedis.pool.max-wait=-1 spring.redis.jedis.pool.max-active=300 spring.redis.jedis.pool.max-idle=100 spring.redis.jedis.pool.min-idle=20 ## 连接超时时间(毫秒) spring.redis.timeout=60000 ## Redis数据库索引(默认为0) spring.redis.database=0 #旧版 ## 连接池最大连接数(使用负值表示没有限制) #spring.redis.pool.max-active=300 ## 连接池最大阻塞等待时间(使用负值表示没有限制) #spring.redis.pool.max-wait=-1 ## 连接池中的最大空闲连接 #spring.redis.pool.max-idle=100 ## 连接池中的最小空闲连接 #spring.redis.pool.min-idle=20
启动类:
[code]package cn.cuit.redis.redisdemo; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication public class RedisDemoApplication { public static void main(String[] args) { SpringApplication.run(RedisDemoApplication.class, args); } }
测试类:
[code]package cn.cuit.redis.redisdemo.crud; import javax.annotation.PostConstruct; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.data.redis.core.ListOperations; import org.springframework.data.redis.core.RedisTemplate; import org.springframework.data.redis.core.StringRedisTemplate; import org.springframework.data.redis.core.ValueOperations; import org.springframework.test.context.junit4.SpringRunner; /** * 这只是一个简单例子,更多参考如下: https://www.cnblogs.com/zwcry/p/9176250.html * https://www.cnblogs.com/superfj/p/9232482.html * https://www.cnblogs.com/jiangbei/p/8601107.html */ @RunWith(SpringRunner.class) @SpringBootTest public class RedisClusterTest { @Autowired private StringRedisTemplate stringRedisTemplate; @Autowired private RedisTemplate<String, String> redisTemplate; ValueOperations<String, String> stringRedis; ListOperations<String, String> listRedis; /** * 被@PostConstruct修饰的方法会在服务器加载Servlet的时候运行,并且只会被服务器调用一次, * 类似于Serclet的inti()方法。被@PostConstruct修饰的方法会在构造函数之后运行。 */ @PostConstruct public void init() { stringRedis = stringRedisTemplate.opsForValue(); listRedis = redisTemplate.opsForList(); } @Test public void testPutString() { stringRedis.set("str:name", "CUIT"); } @Test public void testGetString() { System.out.println(">>>>>>>>>>>>>>>>>>>>>" + stringRedis.get("str:name")); } @Test public void testPutList() { listRedis.leftPushAll("list:key", new String[] { "value1", "value2", "value3" }); } @Test public void testPopFromList() { System.out.println(">>>>>>>>>>>>>>>>>>>>>" + listRedis.rightPop("list:key")); System.out.println(">>>>>>>>>>>>>>>>>>>>>" + listRedis.leftPop("list:key")); } }
测试结果:
testPutString:
testGetString:
testPutList:
testPopFromList :
********************************* 不积跬步无以至千里,不积小流无以成江海 *********************************
相关文章推荐
- 关于springboot整合redis(使用RedisTemplate操作redis)
- Spring Boot整合集成StringRedisTemplate的简单记录
- jedis与spring整合及简单的使用RedisTemplate操作
- jedis与spring整合及简单的使用RedisTemplate操作
- spring boot RedisTemplate的简单使用
- Spring Boot StringRedisTemplate常用操作
- SpringBoot操作redis Hash数据(StringRedisTemplate)
- springBoot之RedisTemplate和StringRedisTemplate的区别
- redis工具类学习和使用(RedisTemplate,StringRedisTemplate)
- Spring RedisTemplate操作-String操作(2)
- Spring中使用RedisTemplate操作Redis(spring-data-redis)
- spring boot使用redisTemplate存储键值出现乱码
- 10、Spring技术栈-整合Redis,使用RedisTemplate实现数据缓存实战
- Spring RedisTemplate操作-String操作(2)
- spring boot进阶(一) springboot整合redis,可操作java对象。最完整、简单易懂、详细的spring boot教程。
- Redis详解 - SpringBoot整合Redis,RedisTemplate和注解两种方式的使用
- spring整合redis以及使用RedisTemplate的方法
- spring boot 整合 redis,使用@Cacheable,@CacheEvict,@CachePut,jedisPool操作redis数据库
- REDIS学习(4)spring boot redisTemplate 对REDIS的简单封装,以及对引用包的说明,以及对序列化的详细说明
- SpringBoot2.X 整合RedisTemplate 简单实现消息队列