[由零开始]Spring boot 整合redis集群
Spring boot 整合redis集群
一、环境搭建
Redis集群环境搭建:https://blog.csdn.net/qq497811258/article/details/108124697
二、创建Spring boot项目
1.创建boot项目
2.创建配置文件
spring:redis:database: 0 # Redis数据库索引(默认为0)timeout: 100000 # 连接超时时间(毫秒)# jedis:# pool:# max-active: 8 # 连接池最大连接数(使用负值表示没有限制)# max-idle: 8 # 连接池中的最大空闲连接# max-wait: -1 # 连接池最大阻塞等待时间(使用负值表示没有限制)# min-idle: 0 # 连接池中的最小空闲连接cluster:nodes:- 10.1.194.193:6379- 10.1.194.193:6380- 10.1.194.193:6381- 10.1.194.193:6382- 10.1.194.193:6383- 10.1.194.193:6384connectionTimeout: 6000soTimeout: 6000maxAttempts: 5# password:
、
3.初始化RedisTemplate
package com.lagou.demo.config;import com.fasterxml.jackson.annotation.JsonAutoDetect;
import com.fasterxml.jackson.annotation.PropertyAccessor;
import com.fasterxml.jackson.databind.ObjectMapper;
import org.springframework.boot.autoconfigure.AutoConfigureAfter;
import org.springframework.boot.autoconfigure.data.redis.RedisAutoConfiguration;
import org.springframework.cache.annotation.CachingConfigurerSupport;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;import org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.data.redis.serializer.Jackson2JsonRedisSerializer;
import org.springframework.data.redis.serializer.StringRedisSerializer;@Configuration
@AutoConfigureAfter(RedisAutoConfiguration.class)
public class RedisConfig extends CachingConfigurerSupport {@Beanpublic RedisTemplate<String,Object> redisTemplate(LettuceConnectionFactory factory){RedisTemplate<String,Object> template=new RedisTemplate<>();template.setConnectionFactory(factory);Jackson2JsonRedisSerializer jackson2JsonRedisSerializer = new Jackson2JsonRedisSerializer(Object.class);ObjectMapper objectMapper = new ObjectMapper();objectMapper.setVisibility(PropertyAccessor.ALL, JsonAutoDetect.Visibility.ANY);objectMapper.enableDefaultTyping(ObjectMapper.DefaultTyping.NON_FINAL);jackson2JsonRedisSerializer.setObjectMapper(objectMapper);StringRedisSerializer stringRedisSerializer = new StringRedisSerializer();//key采用String的序列化方式template.setKeySerializer(stringRedisSerializer);//value采用jackson序列化方式template.setValueSerializer(jackson2JsonRedisSerializer);//hash的key采用String的序列化方式template.setHashKeySerializer(stringRedisSerializer);//hash的value采用String的序列化方式template.setHashValueSerializer(jackson2JsonRedisSerializer);template.afterPropertiesSet();return template;}}
4.编写测试代码
我这边使用了2种方式调用
package com.lagou.demo;import org.junit.jupiter.api.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.RedisTemplate;
import org.springframework.test.context.junit4.SpringRunner;
import redis.clients.jedis.HostAndPort;
import redis.clients.jedis.JedisCluster;
import redis.clients.jedis.JedisPoolConfig;import java.util.HashSet;
import java.util.Set;@SpringBootTest
@RunWith(SpringRunner.class)
class DemoApplicationTests {@Autowiredprivate RedisTemplate redisTemplate;@Testvoid get() {redisTemplate.opsForValue().set("sex","nan");System.out.println(redisTemplate.opsForValue().get("name"));System.out.println("------------------------------------------------------");JedisCluster jcd = null;try {JedisPoolConfig config = new JedisPoolConfig();Set<HostAndPort> jedisClusterNode = new HashSet<>();jedisClusterNode.add(new HostAndPort("10.1.194.193", 6379));jedisClusterNode.add(new HostAndPort("10.1.194.193", 6380));jedisClusterNode.add(new HostAndPort("10.1.194.193", 6381));jedisClusterNode.add(new HostAndPort("10.1.194.193", 6382));jedisClusterNode.add(new HostAndPort("10.1.194.193", 6383));jedisClusterNode.add(new HostAndPort("10.1.194.193", 6384));jedisClusterNode.add(new HostAndPort("10.1.194.193", 6385));jedisClusterNode.add(new HostAndPort("10.1.194.193", 6386));jcd = new JedisCluster(jedisClusterNode, config);//jcd.set("name", "zhang3");String value = jcd.get("sex");System.out.println("get val from redis cluster: " + value);} finally {if (jcd != null){jcd.close();}}}}
5.验证
[由零开始]Spring boot 整合redis集群相关推荐
- 超完整!Springboot整合redis集群(Sentine),spring boot自动配置集成redis集群(Sentine)
1.添加maven依赖 注意maven版本依赖,版本要相互匹配,如不知道如何查看相对应的版本时,可进入博主主页查看博主上一篇博文. <parent><groupId>org.s ...
- Spring Boot基础学习笔记08:Spring Boot整合Redis
文章目录 零.学习目标 1.熟悉Redis相关概念 2.掌握使用Spring Boot整合Redis 一.Redis概述 1.Redis简介 2.Redis优点 (1)存取速度快 (2)数据类型丰富 ...
- 猿创征文 | 微服务 Spring Boot 整合Redis 实战开发解决高并发数据缓存
文章目录 一.什么是 缓存? ⛅为什么用缓存? ⚡如何使用缓存 二.实现一个商家缓存 ⌛环境搭建 ♨️核心源码 ✅测试接口 三.采用 微服务 Spring Boot 注解开启缓存 ✂️@CacheEn ...
- Spring boot - 整合 Redis缓存(上)
一.配置Pom文件 在使用spring boot 2.0整合redis时遇到了好多问题,网上很多例子都是1.x版本的.故2.0没有折腾好所以将2.0降到了1.5.降级后由于thymeleaf版本也会从 ...
- 十一、Spring Boot整合Redis(一)
Spring Boot整合Redis 1. SpringBoot+单例Redis 1)引入依赖 <dependency> <groupId>org.springf ...
- Spring boot整合Redis(入门教程)
目录 源码分析 jedis VS lettuce 整合测试 导入依赖 配置连接 测试 存入字符串 存入对象 五大数据类型操作 自定义RedisConfig 存入对象 Redis工具类(常用API) 以 ...
- 大聪明教你学Java | Spring Boot 整合 Redis 实现访问量统计
前言 之前开发系统的时候客户提到了一个需求:需要统计某些页面的访问量,记得当时还纠结了一阵子,不知道怎么去实现这个功能,后来还是在大佬的带领下借助 Redis 实现了这个功能.今天又回想起了这件事,正 ...
- Spring Boot 整合Redis 包含Java操作Redis哨兵 作者:哇塞大嘴好帥(哇塞大嘴好帅)
Spring Boot 整合Redis 包含Java操作Redis哨兵 作者:哇塞大嘴好帥(哇塞大嘴好帅) 1. 配置环境 在SpringBoot2.0版本以后,原来使用的jedis被替换成为了let ...
- Spring boot整合Redis实现发布订阅(超详细)
Redis发布订阅 基础知识 相关命令 订阅者/等待接收消息 发布者/发送消息 订阅者/成功接收消息 常用命令汇总 原理 Spring boot整合redis 导入依赖 Redis配置 消息封装类(M ...
最新文章
- C#趣味程序---个位数为6,且能被3整出的五位数
- 嵌入式软件开发的特点、设计流程、嵌入式软件的结构
- 第一次CM--CosH.2
- Acwing第 28 场周赛【完结】
- 衔接上一学期:排球积分规则
- linux e32,linux PXE无人值守安装出现 PXE-E32:TFTP OPen timeout的解
- cefsharp 发送请求服务器_超高性能管线式HTTP请求(实践·原理·实现)
- qt自定义窗口添加父窗口后,显示不出来
- 画质评测|一次关于视频画质的探(zhǎn)讨(xiàn)
- c语言if语句教学设计,c语言if语句教学设计.pdf
- 利用hashmap的java_利用Java如何实现对HashMap的集合使用
- 文本聚类 java_【Java】文本聚类
- Flutter String 常用方法
- android 极光推送测试,Android 极光推送基本步骤
- mysql如何找回误删除数据_mysql如何找回误删除数据
- c++读写json,JsonCpp配置
- 谈谈web打印快递单及经验
- 360 android root权限获取,android手机怎么root权限获取
- 【示波器专题】数字示波器的主要指标——带宽
- iperf测试交换机流量