springboot1.x集成redis单机版和集群版

2024-05-16 11:38

本文主要是介绍springboot1.x集成redis单机版和集群版,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

看了网上好多springboot中使用redis配置麻烦,实际上springboot开箱即用为我们做好了准备,简单方便又能扩展。
单机版:
1.pom.xml添加依赖

		<!-- springboot web 依赖的jar --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId><version>1.5.0.RELEASE</version></dependency><!--redis 这个依赖了jedis,spring-data-redis等 --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-redis</artifactId></dependency>

2.application.yml 文件添加

server:port: 8110
spring:profiles:active: singleapplication:name: service-redis

3.application-single.yml 此处为了区分单机和集群环境

#单机版redis
spring:redis:host: 127.0.0.1port: 6379#默认0database: 0#密码password:pool:#连接池最大连接数,使用负值表示没有限制max-active: 100#连接池中的最大空闲连接max-idle: 5#连接池最大阻塞等待时间(使用负值表示没有限制) 毫秒max-wait: 2000#连接池中的最小空闲连接min-idle: 1#连接超时时间(毫秒)timeout: 2000

4.在需要使用redis的地方直接注入RedisTemplate

@RestController
public class UserController {@Resourceprivate RedisTemplate redisTemplate;@RequestMapping("/getUser")public String getUser(){return (String)redisTemplate.opsForValue().get("name");}@RequestMapping("/setUser")public String setUser(String name){redisTemplate.opsForValue().set("name",name);return "name:"+name;}
}

集群版:
1.pom.xml依赖同单机版一样
2.application.yml 文件将环境改为cluster集群

server:port: 8110
spring:profiles:active: clusterapplication:name: service-redis

3.application-cluster.yml 集群环境配置信息

spring:redis:#host:#port:#密码#password:pool:#连接池最大连接数,使用负值表示没有限制max-active: 100#连接池中的最大空闲连接max-idle: 5#连接池最大阻塞等待时间(使用负值表示没有限制) 毫秒max-wait: 2000#连接池中的最小空闲连接min-idle: 1#连接超时时间(毫秒)timeout: 2000cluster:nodes: 192.168.31.11:6378,192.168.31.11:6379,192.168.31.18:6378,192.168.31.18:6379,192.168.31.25:6378,192.168.31.25:6379max-redirects: 3

4.在需要使用redis的地方直接注入RedisTemplate,同单机版4一样
项目目录结构
在这里插入图片描述

redistemplate之所以能直接使用是springboot自动化装配,已经为我们实例化了这个实例
到此结果。


如果有需要我们可以扩展redistemplate

/*** Created by lifeng on 2019/3/27.* 自定义redis的一些属性* 比如序列化和反序列化* 此类可以没有*/
@Configuration
public class RedisConfig {/**  此处可能报错提示RedisConnectionFactory 类找不到,不影响运行*/@Beanpublic RedisTemplate<Object, Object> redisTemplate(RedisConnectionFactory connectionFactory) {RedisTemplate template = new RedisTemplate();template.setConnectionFactory(connectionFactory);//使用Jackson2JsonRedisSerializer来序列化和反序列化redis的value值Jackson2JsonRedisSerializer serializer = new Jackson2JsonRedisSerializer(Object.class);ObjectMapper mapper = new ObjectMapper();mapper.setVisibility(PropertyAccessor.ALL, JsonAutoDetect.Visibility.ANY);mapper.enableDefaultTyping(ObjectMapper.DefaultTyping.NON_FINAL);serializer.setObjectMapper(mapper);template.setValueSerializer(serializer);//使用StringRedisSerializer来序列化和反序列化redis的key值template.setKeySerializer(new StringRedisSerializer());template.afterPropertiesSet();return template;}
}

这篇关于springboot1.x集成redis单机版和集群版的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/994806

相关文章

服务器集群同步时间手记

1.时间服务器配置(必须root用户) (1)检查ntp是否安装 [root@node1 桌面]# rpm -qa|grep ntpntp-4.2.6p5-10.el6.centos.x86_64fontpackages-filesystem-1.41-1.1.el6.noarchntpdate-4.2.6p5-10.el6.centos.x86_64 (2)修改ntp配置文件 [r

HDFS—集群扩容及缩容

白名单:表示在白名单的主机IP地址可以,用来存储数据。 配置白名单步骤如下: 1)在NameNode节点的/opt/module/hadoop-3.1.4/etc/hadoop目录下分别创建whitelist 和blacklist文件 (1)创建白名单 [lytfly@hadoop102 hadoop]$ vim whitelist 在whitelist中添加如下主机名称,假如集群正常工作的节

Hadoop集群数据均衡之磁盘间数据均衡

生产环境,由于硬盘空间不足,往往需要增加一块硬盘。刚加载的硬盘没有数据时,可以执行磁盘数据均衡命令。(Hadoop3.x新特性) plan后面带的节点的名字必须是已经存在的,并且是需要均衡的节点。 如果节点不存在,会报如下错误: 如果节点只有一个硬盘的话,不会创建均衡计划: (1)生成均衡计划 hdfs diskbalancer -plan hadoop102 (2)执行均衡计划 hd

零基础学习Redis(10) -- zset类型命令使用

zset是有序集合,内部除了存储元素外,还会存储一个score,存储在zset中的元素会按照score的大小升序排列,不同元素的score可以重复,score相同的元素会按照元素的字典序排列。 1. zset常用命令 1.1 zadd  zadd key [NX | XX] [GT | LT]   [CH] [INCR] score member [score member ...]

搭建Kafka+zookeeper集群调度

前言 硬件环境 172.18.0.5        kafkazk1        Kafka+zookeeper                Kafka Broker集群 172.18.0.6        kafkazk2        Kafka+zookeeper                Kafka Broker集群 172.18.0.7        kafkazk3

【区块链 + 人才服务】区块链集成开发平台 | FISCO BCOS应用案例

随着区块链技术的快速发展,越来越多的企业开始将其应用于实际业务中。然而,区块链技术的专业性使得其集成开发成为一项挑战。针对此,广东中创智慧科技有限公司基于国产开源联盟链 FISCO BCOS 推出了区块链集成开发平台。该平台基于区块链技术,提供一套全面的区块链开发工具和开发环境,支持开发者快速开发和部署区块链应用。此外,该平台还可以提供一套全面的区块链开发教程和文档,帮助开发者快速上手区块链开发。

【Shiro】Shiro 的学习教程(三)之 SpringBoot 集成 Shiro

目录 1、环境准备2、引入 Shiro3、实现认证、退出3.1、使用死数据实现3.2、引入数据库,添加注册功能后端代码前端代码 3.3、MD5、Salt 的认证流程 4.、实现授权4.1、基于角色授权4.2、基于资源授权 5、引入缓存5.1、EhCache 实现缓存5.2、集成 Redis 实现 Shiro 缓存 1、环境准备 新建一个 SpringBoot 工程,引入依赖:

Redis中使用布隆过滤器解决缓存穿透问题

一、缓存穿透(失效)问题 缓存穿透是指查询一个一定不存在的数据,由于缓存中没有命中,会去数据库中查询,而数据库中也没有该数据,并且每次查询都不会命中缓存,从而每次请求都直接打到了数据库上,这会给数据库带来巨大压力。 二、布隆过滤器原理 布隆过滤器(Bloom Filter)是一种空间效率很高的随机数据结构,它利用多个不同的哈希函数将一个元素映射到一个位数组中的多个位置,并将这些位置的值置

系统架构师-ERP+集成

ERP   集成平台end:就懒得画新的页

一种改进的red5集群方案的应用、基于Red5服务器集群负载均衡调度算法研究

转自: 一种改进的red5集群方案的应用: http://wenku.baidu.com/link?url=jYQ1wNwHVBqJ-5XCYq0PRligp6Y5q6BYXyISUsF56My8DP8dc9CZ4pZvpPz1abxJn8fojMrL0IyfmMHStpvkotqC1RWlRMGnzVL1X4IPOa_  基于Red5服务器集群负载均衡调度算法研究 http://ww