Springboot集成redis单机与集群

news2024/11/18 13:34:24

一 集成Redis单机版

1 pom文件添加jar

<dependency>  
   <groupId>org.springframework.boot</groupId>  
   <artifactId>spring-boot-starter-data-redis</artifactId>  
</dependency> 

2 在配置文件application.properties添加redis配置

# 配置redis

spring.redis.host=192.168.32.130

spring.redis.port=6379

spring.redis.database=1

spring.redis.pool.max-active=8

spring.redis.pool.max-wait=-1

spring.redis.pool.max-idle=500

spring.redis.pool.min-idle=0

spring.redis.timeout=0

3 新建redisService.java类,代码如下

package com.gog.redis.service;

public interface RedisService {
	
	public void set(String key, Object value);  

    public Object get(String key); 

}

4 增加实现类redisServiceImpl.java

package com.gog.redis.service.impl;

import javax.annotation.Resource;

import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.data.redis.core.ValueOperations;
import org.springframework.stereotype.Service;

import com.gog.redis.service.RedisService;

@Service
public class RedisServiceImpl implements RedisService {

@Resource
    private RedisTemplate<String,Object> redisTemplate;

    public void set(String key, Object value) {
        ValueOperations<String,Object> vo = redisTemplate.opsForValue();
        vo.set(key, value);
    }
    
    public Object get(String key) {
        ValueOperations<String,Object> vo = redisTemplate.opsForValue();
        return vo.get(key);
    }
}

至此,集成完毕,可直接调用方法实现


二 集群版配置

1 配置文件增加如下配置

#整合redis集群

spring.redis.cluster.nodes=192.168.66.66:7001,192.168.66.66:7002,192.168.66.66:7003,192.168.66.66:7004

2 编写ReidsConfig.java工具类

package com.gog.config;

import java.util.HashSet;
import java.util.Set;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

import redis.clients.jedis.HostAndPort;
import redis.clients.jedis.JedisCluster;

@Configuration   //applicationContext.xml  类似于创建这样一个配置文件
public class RedisConfig {
	
	//注入集群节点信息
	@Value("${spring.redis.cluster.nodes}")
	private String clusterNodes;
	
	@Bean
	public JedisCluster getJedisCluster(){
		//分割集群节点
		String[] cNodes = clusterNodes.split(",");
		//创建set集合对象
		Set<HostAndPort> nodes = new HashSet<>();
		//循环集群节点对象
		for (String node : cNodes) {
			String[] hp = node.split(":");
			nodes.add(new HostAndPort(hp[0], Integer.parseInt(hp[1])));
		}
		JedisCluster jedisCluster = new JedisCluster(nodes);
		return jedisCluster;
	}
}

3 使用方式

在类中注入

@Autowired

private JedisCluster jedisCluster;

 

至此,集成redis也搭建完毕!!1

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/921102.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

红米手机怎么录屏?教你快速掌握录屏技巧

“红米怎么录屏呀&#xff0c;最近需要录一场线上的视频会议&#xff0c;眼看就要到时间了&#xff0c;就是找不到录屏在哪里&#xff0c;真的很着急&#xff0c;这场会议非常重要&#xff0c;有没有人会的&#xff0c;教教我&#xff0c;非常感谢&#xff01;” 在手机使用过…

提升政府公文品质:精益求精的校对之道

在当今的数字化时代&#xff0c;公文校对已经不再是简单地检查拼写和语法错误。在确保文档的准确性、完整性和专业性的同时&#xff0c;我们也面临着各种新的挑战&#xff0c;例如敏感词的识别。幸运的是&#xff0c;随着技术的发展&#xff0c;现在有了智能校对工具如“爱校对…

写得了代码,焊得了板!嵌入式开发工程师必修之代码管理方案(中)

目录 2.2 分仓、权限与依赖问题 2.3 基于 Git 进行多仓管理 Git submodule Git subtree Script/CMake Git-Repo Conan 本文来自 武让 极狐GitLab 高级解决方案架构师 &#x1f31f; 前一篇文章&#xff0c;作者介绍了嵌入式开发场景的代码管理特点与诉求&#xff0c;以及…

文件加密最简单的方法有哪些?

文件加密是保护敏感信息和数据安全的重要方法之一。以下是文件加密的几种简单方法&#xff1a; 密码保护&#xff1a; 最简单的方式是使用密码来保护文件。许多应用程序(如Microsoft Office)允许你为文件设置密码&#xff0c;确保只有知道密码的人可以访问文件内容。 压缩工具加…

上海交大ACM班总教头团队重磅新作,带你动手学机器学习(文末赠书4本)

目录 0 写在前面1 什么是机器学习&#xff1f;2 ACM 班总教头&#xff1a;俞勇3 动手学习机器学习赠书活动 0 写在前面 机器学习强基计划聚焦深度和广度&#xff0c;加深对机器学习模型的理解与应用。“深”在详细推导算法模型背后的数学原理&#xff1b;“广”在分析多个机器…

【全站最全】被苹果、谷歌和Microsoft停产的产品(二)

2019 Field Trip 2012 – 2019 APP Field Trip was a mobile app that acted as a virtual tour guide by cross referencing multiple sources of information to provide users information about points of interest near them. AdSense (mobile app) 2013 – 2019 A…

怎么制作sip网络寻呼话筒,sip任意呼叫主机,

怎么制作sip网络寻呼话筒&#xff0c;sip任意呼叫主机&#xff0c; 所需材料一&#xff1a;SV-2103VP sip网络音频模块 功能如下&#xff1a; SV-2101VP/ SV-2103VP使用了AT32F437VGT7处理器构架加专业的双向音频Codec编解码器&#xff0c; 处理器负责数据的传输&#xff0c…

里式替换原则(LSP)

目录 简介: 作用: 过程: 总结: 简介: 里式替换原则&#xff08;Liskov Substitution Principle&#xff0c;简称LSP&#xff09;的提出者是美国计算机科学家Barbara Liskov。Barbara Liskov是一位计算机科学家&#xff0c;麻省理工学院教授&#xff0c;也是美国第一个计算机…

成功解决修改已经push到远程git仓库的commit message

1.使用 Git 命令行进入要修改的项目目录。 2.运行 git log 命令查看提交历史&#xff0c;找到要修改的提交的哈希值&#xff08;commit hash&#xff09;。 3.运行 git rebase -i <commit hash> 命令&#xff0c;将 <commit hash> 替换为要修改的提交的哈希值。这将…

用户、权限和Vim编辑器

用户 用户分类 超级管理员&#xff1a;可以登录&#xff0c;拥有所有权限&#xff0c;用户Id为0 普通用户&#xff1a;可以登录&#xff0c;但只能操作家目录&#xff0c;用户Id为1000 程序用户&#xff1a;不能登录&#xff0c;用于管理程序&#xff0c;用户Id为1~999 添…

春秋云镜:CVE-2019-9042(Sitemagic CMS v4.4 任意文件上传漏洞)

一、题目 靶标介绍&#xff1a; Sitemagic CMS v4.4 index.php?SMExtSMFiles 存在任意文件上传漏洞&#xff0c;攻击者可上传恶意代码执行系统命令。 进入题目&#xff1a; admin/admin /index.php?SMExtSMFiles&SMTemplateTypeBasic&SMExecModeDedicated&SMFil…

龙芯2K1000LA移植交叉编译环境以及QT

嵌入式大赛结束了&#xff0c;根据这次比赛中记的凌乱的笔记&#xff0c;整理了一份龙芯2K1000LA的环境搭建过程&#xff0c;可能笔记缺少了一部分步骤或者错误&#xff0c;但是大致步骤可以当作参考。 一、交叉编译工具链 下载连接&#xff1a;龙芯 GNU 编译工具链 | 龙芯开…

第七章:借阅管理【基于Servlet+JSP的图书管理系统】

借阅管理 1. 借书卡 1.1 查询借书卡 借书卡在正常的CRUD操作的基础上&#xff0c;我们还需要注意一些特殊的情况。查询信息的时候。如果是管理员则可以查询所有的信息&#xff0c;如果是普通用户则只能查看自己的信息。这块的控制在登录的用户信息 然后就是在Dao中处理的时候需…

博客系统前端页面(项目实战系列1)

目录 前言&#xff1a; 1.前端 1.1博客列表页 1.1.1博客列表页效果预览图 1.1.2实现导航栏 1.1.3实现版心个人信息博客列表 1.2博客详情页 1.2.1博客详情页效果预览图 1.2.2实现导航栏 版心个人信息 1.2.3实现博客正文 1.3登录页 1.3.1登录页效果预览图 1.3.2导航…

❤echarts柱状图的使用及详细配置

❤ echarts柱状图的使用及详细配置 一、Echarts 柱形图详细配置 1、 简单引入 import * as echarts from echarts;// 5.4区别4引入方式 // 结构 <div id"echartzhu" style"width: 100%;height: 200px;"></div>// 渲染 this.echartzhu(echa…

使用ffmpeg将WebM文件转换为MP4文件的简单应用程序

tiktok网上下载的short视频是webm格式的&#xff0c;有些程序无法处理该程序&#xff0c;比如roop程序&#xff0c;本文介绍了如何使用wxPython库创建一个简单的GUI应用程序&#xff0c;用于将WebM文件转换为MP4文件。这个应用程序使用Python编写&#xff0c;通过调用FFmpeg命令…

【校招VIP】TCP/IP模型之常用协议和端口

考点介绍&#xff1a; 大厂测试校招面试里经常会出现TCP/IP模型的考察&#xff0c;TCP/IP协议是网络基础知识&#xff0c;是互联网的基石&#xff0c;不管你是做开发、运维还是信息安全的&#xff0c;TCP/IP 协议都是你绕不过去的一环&#xff0c;程序员需要像学会看书写字一样…

数据库——Redis 没有使用多线程?为什么不使用多线程?

文章目录 Redis6.0 之后为何引入了多线程&#xff1f; 虽然说 Redis 是单线程模型&#xff0c;但是&#xff0c; 实际上&#xff0c;Redis 在 4.0 之后的版本中就已经加入了对多线程的支持。 不过&#xff0c;Redis 4.0 增加的多线程主要是针对一些大键值对的删除操作的命令&a…

Vue 中hash 模式与 history 模式的区别

hash 模式&#xff1a; - 地址中永远带着 # 号&#xff0c;不美观。 - 兼容性比较好。 - 通过手机 app 分享地址时&#xff0c;如果 app 效验严格&#xff0c;该地址会被标记为不合法。 history 模式&#xff1a; - 地址干净&#xff0c;美观。 - 兼容性和 hash 模式相比…

媒体梦工厂软件教程:轻松合并视频,打造完美影片

在如今数字化时代&#xff0c;视频编辑已经成为人们日常生活和工作中不可或缺的部分。无论是在社交媒体上与朋友分享精彩时刻&#xff0c;还是在业务领域展示专业技能&#xff0c;人们对于视频的需求愈发增长。而对于那些想要将多个视频片段合并成一个完美影片的人来说&#xf…