Redis安装与使用 + Springboot整合Redis

Redis安装与使用 + Springboot整合Redis

  • 前言
    • Redis简介
    • Redis优势
  • Redis安装
    • Windows
      • 1.相关配置
      • 2.启动Redis服务
      • 3.连接Redis,进行操作
      • 4.测试一些Redis命令
    • Linux
  • Springboot项目整合使用Redis
    • 1.添加Maven依赖
    • 2.配置Redis相关属性
    • 3.在测试类中进行测试
  • 结语

😀大家好!我是向阳🌞,一个想成为优秀全栈开发工程师的有志青年!
📔今天来教大家如何安装以及使用Redis,并且教大家如何在Springboot项目中整合使用Redis😊

前言

Redis简介

Redis(Remote Dictionary Server)是一个开源的内存数据库,遵守 BSD 协议,它提供了一个高性能的键值(key-value)存储系统,常用于缓存、消息队列、会话存储等应用场景。

Redis优势

特点详细描述
性能极高Redis 以其极高的性能而著称,能够支持每秒数十万次的读写操作24。这使得Redis成为处理高并发请求的理想选择,尤其是在需要快速响应的场景中,如缓存、会话管理、排行榜等。
丰富的数据类型Redis 不仅支持基本的键值存储,还提供了丰富的数据类型,包括字符串、列表、集合、哈希表、有序集合等。这些数据类型为开发者提供了灵活的数据操作能力,使得Redis可以适应各种不同的应用场景。
原子性操作Redis 的所有操作都是原子性的,这意味着操作要么完全执行,要么完全不执行。这种特性对于确保数据的一致性和完整性至关重要,尤其是在高并发环境下处理事务时。
持久化Redis 支持数据的持久化,可以将内存中的数据保存到磁盘中,以便在系统重启后恢复数据。这为 Redis 提供了数据安全性,确保数据不会因为系统故障而丢失。
支持发布/订阅模式Redis 内置了发布/订阅模式(Pub/Sub),允许客户端之间通过消息传递进行通信。这使得 Redis 可以作为消息队列和实时数据传输的平台。
单线程模型尽管 Redis 是单线程的,但它通过高效的事件驱动模型来处理并发请求,确保了高性能和低延迟。单线程模型也简化了并发控制的复杂性。
主从复制Redis 支持主从复制,可以通过从节点来备份数据或分担读请求,提高数据的可用性和系统的伸缩性。
应用场景广泛Redis 被广泛应用于各种场景,包括但不限于缓存系统、会话存储、排行榜、实时分析、地理空间数据索引等。
社区支持Redis 拥有一个活跃的开发者社区,提供了大量的文档、教程和第三方库,这为开发者提供了强大的支持和丰富的资源。
跨平台兼容性Redis 可以在多种操作系统上运行,包括 Linux、macOS 和 Windows,这使得它能够在不同的技术栈中灵活部署。

Redis 与其他 key-value 存储系统的主要区别在于其提供了丰富的数据类型高性能的读写能力原子性操作持久化机制、以及丰富的特性集
在这里插入图片描述


Redis中文网: https://www.redis.net.cn/

Redis安装

Windows

Redis下载地址:https://github.com/tporadowski/redis/releases

进入链接后,我们选择x64位、zip压缩包进行下载,点击即可下载,如图所示。

在这里插入图片描述

解压后在终端就可以进行操作使用了!

1.相关配置

在这之前我们可以手动修改一些配置,我们进入解压后的文件夹,打开 redis.windows-service.conf,我们可以选择使用任意一款文本编辑器打开,这里我使用VSCode,如图所示。
在这里插入图片描述
我们在 redis.windows-service.conf 配置文件中进行全局搜索,在该箭头注释下面可以配置Redis服务的密码,有需要的话可以自己配置,例如:

# requirepass foobared
requirepass 123456

在这里插入图片描述

2.启动Redis服务

打开任务管理器,可以使用快捷键Ctrl+Shift+Esc打开任务管理器,按照下图所示操作。
在这里插入图片描述

3.连接Redis,进行操作

我们打开终端,我们按住电脑键盘Win+R,输入cmd召唤终端。

在这里插入图片描述
终端输入 redis-cli -p 6379 -h 127.0.0.1-p是选择端口,默认为6379,-h是选择ip,默认为127.0.0.1)即可进入redis客户端控制台,接下来我们就可以进行操作了。

redis-cli -p 6379 -h 127.0.0.1

:如果在第一步相关配置中输入了密码,我们在进入后要输入 auth <你设置的密码>,才可以连接成功。

当然也可以在连接的时候设置密码redis-cli -p 6379 -h 127.0.0.1 -a <密码> 下图为连接成功的画面。

redis-cli -p 6379 -h 127.0.0.1 -a <密码>
例:redis-cli -p 6379 -h 127.0.0.1 -a 123456
auth <你设置的密码>
例:auth 123456

在这里插入图片描述

4.测试一些Redis命令

我们在控制台来输入一些Redis命令进行测试。
在这里插入图片描述
上述只是一部分Redis命令,如果要使用更多的操作命令,请点击下面链接进行查阅使用。

Redis命令:https://www.redis.net.cn/tutorial/3506.html

Linux

Linux安装,跟着下面命令进行傻瓜式安装就可以了👍。

温馨提示:最好不要在root根目录下面进行安装,要不然后续就找不到自己下载的Redis了💕,建议mkdir一个文件夹,在该目录下放一些服务。

# mkdir services
# cd services# wget http://download.redis.io/releases/redis-5.0.14.tar.gz
# tar -xzvf redis-5.0.14.tar.gz
# cd redis-5.0.14
# make

执行完 make 命令后,redis-5.0.14src 目录下会出现编译后的 redis 服务程序 redis-server,还有用于测试的客户端程序 redis-cli

下面启动 redis 服务

# cd src
# ./redis-server

注意这种方式启动 redis 使用的是默认配置。也可以通过启动参数告诉 redis 使用指定配置文件使用下面命令启动。

# cd src
# ./redis-server ../redis.conf

redis.conf 是一个默认的配置文件。我们可以根据需要使用自己的配置文件。

启动 redis 服务进程后,我们可以重新打开一个窗口,就可以使用测试客户端程序 redis-cli 和 redis 服务交互了。 比如:

# cd src
# ./redis-cli
redis> set foo bar
OK
redis> get foo
"bar"

在这里插入图片描述

Springboot项目整合使用Redis

1.添加Maven依赖

除了 spring-boot-starter-data-redis 外,还添加了 commons-pool2 依赖,是因为我们需要使用到连接池

<!-- Redis -->
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
<!-- 连接池 -->
<dependency><groupId>org.apache.commons</groupId><artifactId>commons-pool2</artifactId>
</dependency>

2.配置Redis相关属性

application.yml 中配置如下常用的基本属性即可。

注意:如果你使用的是 spring boot 3.x,上述配置的命名空间应该是 spring.data.redis!!!

# Redis配置
# 如果使用的是spring boot 3.x版本,应该为spring.data.redis
spring:redis:# 连接地址host: localhost# 端口号port: 6379# 用户名 如果有的话设置
#    username: root# 密码 如果有的话设置
#    password: 123456# 数据库索引database: 10# Lettuce 客户端配置lettuce:# 连接池配置pool:# 最小空闲连接min-idle: 0# 最大空闲连接max-idle: 8# 最大活跃连接max-active: 8# 连接池最大阻塞等待时间(使用负值表示没有限制)max-wait: -1ms

如果你想要配置其他更多属性,请参考官方文档。

3.在测试类中进行测试

配置就绪后,StringRedisTemplate 已经可用,你可以在任何地方注入、使用,我们这里使用 StringRedisTemplate 进行测试。

@SpringBootTest
@Slf4j
class SpringRedisDemoApplicationTests {@AutowiredStringRedisTemplate redisTemplate;@Testvoid redisTest() {// 设置键值对,并设置过期时间redisTemplate.opsForValue().set("name", "shousi", 10, TimeUnit.MINUTES);// 获取键值对String name = redisTemplate.opsForValue().get("name");log.info("name: {}", name);}
}

上述代码中的 @Slf4j 注解是引入了lombok依赖,可以在控制台打印日志。

<dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId>
</dependency>

运行后得到结果,成功整合😎!
123

对于 StringRedisTemplate 更完整的方法列表,你可以参阅其 java doc。

结语

对于Redis的安装和使用,以及如何在 Springboot 中整合和使用 Redis 就介绍到这里啦,下一次我会为大家介绍一款操作 Redis 的可视化工具,让使用 Redis 更加方便。

请添加图片描述

——👦[作者]:向阳256
——⏳[更新]:2024.11.3
——🥰本人技术有限,如果有不对指正需要更改或者有更好的方法,欢迎到评论区留言。

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

lust变频器维修电梯变频器CDD34.014.W2.1LSPC1

LUST伺服在安装时须注意&#xff0c;不可有任何的铁屑、螺丝、导线等掉人驱动器内。在安装完成后应作基本的检测动作&#xff0c;如对地阻抗&#xff0c;和短路检测等。 所有的安装及使用事项需要符合安全规定&#xff0c;并且也需要符合当地的相关规定和灾害预防措施。DC BUS…

在VSCode中读取Markdown文件

在VSCode安装Markdown All in One或Markdown Preview Enhanced即可 插件Markdown All in One GitHub&#xff1a;https://github.com/yzhang-gh/vscode-markdown v3.6.2下载链接&#xff1a;https://marketplace.visualstudio.com/_apis/public/gallery/publishers/yzhang/vs…

闪存学习_2:Flash-Aware Computing from Jihong Kim

闪存学习_2&#xff1a;Flash-Aware Computing from Jihong Kim【1】 一、三个闪存可靠性问题二、内存的分类三、NAND 闪存和 NOR 闪存四、HDD和SSD比较Reference 一、三个闪存可靠性问题 耐性&#xff08;即寿命&#xff09;&#xff1a;最多能经受编程和擦除的次数。数据保留…

Java项目实战II基于Spring Boot的文理医院预约挂号系统的设计与实现(开发文档+数据库+源码)

目录 一、前言 二、技术介绍 三、系统实现 四、文档参考 五、核心代码 六、源码获取 全栈码农以及毕业设计实战开发&#xff0c;CSDN平台Java领域新星创作者&#xff0c;专注于大学生项目实战开发、讲解和毕业答疑辅导。 一、前言 在医疗资源日益紧张的背景下&#xff0…

【Linux系列】磁盘空间不足

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

keepalive+mysql8双主

1.概述 利用keepalived实现Mysql数据库的高可用&#xff0c;KeepalivedMysql双主来实现MYSQL-HA&#xff0c;我们必须保证两台Mysql数据库的数据完全一致&#xff0c;实现方法是两台Mysql互为主从关系&#xff0c;通过keepalived配置VIP&#xff0c;实现当其中的一台Mysql数据库…

GPT-Sovits-2-微调模型

1. 大致步骤 上一步整理完数据集后&#xff0c;此步输入数据, 微调2个模型VITS和GPT&#xff0c;位置在 <<1-GPT-SoVITS-tts>>下的<<1B-微调训练>> 页面的两个按钮分别执行两个文件: <./GPT_SoVITS/s2_train.py> 这一步微调VITS的预训练模型…

Serverless + AI 让应用开发更简单

本文整理自 2024 云栖大会&#xff0c;阿里云智能高级技术专家&#xff0c;史明伟演讲议题《Serverless AI 让应用开发更简单》 随着云计算和人工智能&#xff08;AI&#xff09;技术的飞速发展&#xff0c;企业对于高效、灵活且成本效益高的解决方案的需求日益增长。本文旨在…

重塑未来,开源AI数字人系统引领个性化语音新纪元!AigcPanel v0.03开启公测

你是否曾梦想拥有一个能够与你对话、与你共鸣的AI数字人伙伴&#xff1f;现在&#xff0c;这一切都不再是幻想&#xff01;我们自豪地推出——全新的开源AI数字人系统&#xff0c;一个集视频合成、声音合成、声音克隆与模型管理于一体的创新平台&#xff0c;让你轻松打造专属的…

【测试平台】打包 jenkins配置和jenkinsfile文件

背景&#xff1a; 当打包机环境配置完成后&#xff0c;需要挂到master的jenkins中&#xff0c;完成调度。 jenkins启动 命令行直接启动即可。 nohup java -jar /usr/local/opt/jenkins/libexec/jenkins.war --httpListenAddress0.0.0.0 --httpPort80 appending output to n…

【SQL Server】华中农业大学空间数据库实验报告 实验一 数据库

实验目的 熟悉了解掌握SQL Server软件的基本操作与使用方法&#xff0c;认识界面&#xff0c;了解其两个基本操作系统文件&#xff0c;并能熟练区分与应用交互式与T-SQL式两种方法在SQL Server中如何进行操作&#xff1b;学习有关数据库的基本操作&#xff0c;包括&#xff1a…

【操作系统】每日 3 题(六)

✍个人博客&#xff1a;https://blog.csdn.net/Newin2020?typeblog &#x1f4e3;专栏地址&#xff1a;https://blog.csdn.net/newin2020/category_12820365.html &#x1f4da;专栏简介&#xff1a;在这个专栏中&#xff0c;我将会分享操作系统面试中常见的面试题给大家~ ❤️…

研究了100个小绿书十万加之后,我们发现2024小绿书独家秘籍就是:在于“先抄后超,持续出摊,量大管饱”!

小绿书作为今年最大的红利&#xff0c;很多人已经吃到了螃蟹。看——&#xff1a; 今天我们总结了100个10万爆款&#xff0c;我们发现要在这个平台上脱颖而出&#xff0c;找到属于自己的方法尤为重要。在这里分享一个主题——小绿书的秘诀就是“先抄后超&#xff0c;持续出摊”…

Python | Leetcode Python题解之第526题优美的排列

题目&#xff1a; 题解&#xff1a; class Solution:def countArrangement(self, n: int) -> int:f [0] * (1 << n)f[0] 1for mask in range(1, 1 << n):num bin(mask).count("1")for i in range(n):if mask & (1 << i) and (num % (i …

服务器数据恢复—RAID5阵列中部分成员盘重组RAID5阵列后如何恢复原raid5阵列数据?

服务器数据恢复环境&#xff1a; 一台服务器挂接一台存储&#xff0c;该存储中有一组由5块硬盘组建的RAID5阵列。 服务器故障&#xff1a; 存储raid5阵列中有一块硬盘掉线。由于RAID5的特性&#xff0c;阵列并没有出现问题。工作一段时间后&#xff0c;服务器出现故障&#xff…

每日OJ题_牛客_消减整数_贪心+数学_C++_Java

目录 牛客_消减整数_贪心数学 题目解析 C代码 Java代码 牛客_消减整数_贪心数学 消减整数 (nowcoder.com) 描述&#xff1a; 给出一个正整数H&#xff0c;从1开始减&#xff0c;第一次必须减1&#xff0c;每次减的数字都必须和上一次相同或者是上一次的两倍&…

iOS 18.2 可让欧盟用户删除App Store、Safari、信息、相机和照片应用

升级到 iOS 18.2 之后&#xff0c;欧盟的 iPhone 用户可以完全删除一些核心应用程序&#xff0c;包括 App Store、Safari、信息、相机和 Photos 。苹果在 8 月份表示&#xff0c;计划对其在欧盟的数字市场法案合规性进行更多修改&#xff0c;其中一项更新包括欧盟用户删除系统应…

Cisco Packet Tracer 8.0 路由器静态路由配置

文章目录 静态路由简介一、定义与特点二、配置与命令三、优点与缺点四、应用场景 一&#xff0c;搭建拓扑图二&#xff0c;配置pc IP地址三&#xff0c;pc0 ping pc1 timeout四&#xff0c;配置路由器Router0五&#xff0c;配置路由器Router1六&#xff0c;测试 静态路由简介 …

单片机原理及应用笔记:C51的数组与项目实践

作者简介 马博文&#xff0c;男&#xff0c;银川科技学院计算机与人工智能学院&#xff0c;2022级计算机科学与技术9班本科生&#xff0c;单片机原理及应用课程第9组。 指导老师&#xff1a;王兴泽 电子邮件&#xff1a;1834746988qq.com 本篇文章是参考《单片机原理及应用&…

Kubernetes实战——部署微服务项目(一)

目录 一、搭建Redis集群 1、安装redis 2、测试连接 二、搭建RocketMq 1、下载资源 2、安装 3、查看dashboard 三、搭建Elasticseach 1、es-service.yaml 2、es-statefulset.yaml 3、创建资源 四、搭建mongodb 1、mongodb.yaml 2、创建资源 五、搭建Mysql集群 1…