首页 > 数据库 >springboot整合redis详细教程

springboot整合redis详细教程

时间:2024-11-05 23:45:07浏览次数:3  
标签:教程 springboot redis Redis 默认 import 集合 org

 前言

什么是redis? 

Redis 是一个开源的高性能键值存储系统,通常用作数据库、缓存或消息代理。以下是对 Redis 的详细介绍:

1. 基本特性

  • 速度快:Redis 的读写速度非常快,可以达到每秒数万次的读写操作。
  • 多种数据结构:支持字符串、列表、集合、有序集合、散列、位图、超日志和地理空间索引等多种数据结构。
  • 原子操作:Redis 的所有操作都是原子性的,这意味着它们要么完全执行,要么完全不执行,这有助于保证数据的一致性。
  • 丰富的特性:除了基本的键值存储功能外,Redis 还提供了发布/订阅、事务、持久化、复制、Lua 脚本执行等高级功能。

2. 数据结构

  • 字符串(String):最基本的数据结构,可以存储字符串和二进制数据。
  • 列表(List):一个有序集合,支持在两端添加或移除元素。
  • 集合(Set):一个无序集合,自动去除重复元素。
  • 有序集合(Sorted Set):与集合类似,但每个元素都有一个分数,可以按照分数排序。
  • 散列(Hash):类似于其他语言中的字典或对象,存储键值对。
  • 位图(Bitmaps):使用位来存储信息,适合用于表示布尔值的集合。
  • 超日志(HyperLogLog):用于基数统计,可以用于去重计数。
  • 地理空间(Geospatial):用于存储地理位置信息,并进行地理位置查询。

3. 持久化

  • RDB(Redis Database):通过创建内存数据的快照来持久化数据。可以配置定时任务自动保存。
  • AOF(Append Only File):记录每次写操作命令,以日志的形式保存,启动时重放这些命令来恢复数据。

4. 复制

  • 主从复制:一个主节点可以有多个从节点,从节点可以用于读取操作,以此来分散读负载,并且从节点可以作为主节点的备份。

5. 高可用性

  • Sentinel(哨兵):用于监控 Redis 主从服务器,并在主服务器下线时自动进行故障转移。

6. 集群

  • Redis Cluster:提供数据分片和高可用性,不需要客户端知道数据存放在哪个节点,Redis Cluster 会自动处理。

7. 安全性

  • 认证:可以通过设置密码来保护 Redis 服务器。
  • 加密连接:支持使用 SSL/TLS 加密客户端和服务器之间的连接。

8. 应用场景

  • 缓存:提高热点数据的读取速度,减少数据库的压力。
  • 会话存储:在分布式系统中存储用户会话。
  • 消息队列:使用发布/订阅模式实现异步消息传递。
  • 排行榜:使用有序集合实现实时更新的排行榜。
  • 实时分析:使用 HyperLogLog 进行基数统计,进行实时分析。

9. 配置和优化

  • 内存管理:可以通过配置来限制内存使用量,以及设置内存淘汰策略。
  • 性能优化:可以通过调整持久化策略、复制策略、网络配置等来优化 Redis 的性能。

Redis 的灵活性和高性能使其成为许多现代应用的理想选择,无论是作为数据库、缓存还是消息传递系统。

实现步骤

1. 引入redis依赖

第一个为redis的起步依赖是必须引入的,第二个是选用的



<!-- redis 依赖-->
<dependency>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
<!-- redis commons-pool2 是用于 Lettuce 连接池配置的依赖-->
<dependency>
    <groupId>org.apache.commons</groupId>
     <artifactId>commons-pool2</artifactId>
</dependency>

2.配置redis

 在application.yml 文件,这样配置:

# Redis 配置
spring:
  redis:
    host: localhost # 指定 Redis 服务器的地址
    port: 6379 # 指定 Redis 服务器的端口,默认为 6379
    database: 0 # 指定 Redis 数据库的索引,默认为 0
    password: # 指定 Redis 连接密码,如果需要的话
    timeout: 2000ms # 指定 Redis 连接超时时间,默认为 2000 毫秒
  # 连接池配置
    lettuce:
      pool:
        min-idle: 0 # 最小空闲连接数,默认为 0
        max-idle: 8 # 最大空闲连接数,默认为 8
        max-active: 8 # 连接池中的最大连接数,默认为 8
        max-wait: -1ms # 如果在等待可用连接时,超过这个时间还没有可用连接,则抛出异常,默认为 -1(无限制)

3.测试是否成功

在test文件夹下,创建一个RedisTest的测试类。

 测试代码:

package com.ccyx.redisdemo;

import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.data.redis.core.RedisTemplate;

import java.util.concurrent.TimeUnit;

@SpringBootTest
class RedisTest {

    @Autowired
    private RedisTemplate redisTemplate;
    @Test
    void testRedis() {
        // 添加缓存键值对name:mijiu并设置过期时间为100秒
        redisTemplate.opsForValue().set("name", "mijiu",
                100, TimeUnit.SECONDS);
        String value = (String) redisTemplate.opsForValue().get("name");
        System.out.println(value);
    }

}

如果成功可以看到控制台已经打印出刚刚输入进redis中的值:

注意,需要启动redis的服务才可以。

标签:教程,springboot,redis,Redis,默认,import,集合,org
From: https://blog.csdn.net/qq_64734490/article/details/143522503

相关文章

  • IDEA 2024 安装激活教程(附激活补丁,亲测有效)
    第一步前往idea的官网,下载新版的idea下载完成后,进行安装,next,安装完成首次打开,会要求输入激活码才能使用第二步点击获取补丁文件保存下载之后进入文件夹***/JetBrains2023最新全家桶激活***找到文件/方式3:永久激活补丁+脚本(适合最新版本,可显示到2025年)点击进入/scr......
  • SpringBoot项目使用AOP及自定义注解保存操作日志
    @目录概述:特色使用方式注意点代码第一步:pom引入AOP第二步:创建自定义注解、Bean实体、枚举、常量类第三步:Controller层方法使用自定义注解标识第四步:新建一个日志操作类LogAopAction,专门用来处理操作保存日志第五步:postman模拟调用接口,输出AOP中ProceedingJoinPoint获取目标方法,参......
  • SpringBoot项目的html页面使用axios进行get post请求
    说明:本项目为SpringBoot项目而不是vue项目,本项目用于练习axios使用get及post请求get和post请求都采用两种方式进行配置,并注明易错点@目录1.axios是什么2.vue项目为什么使用axios,而不使用jquery?3.SpringBoot项目的html页面引入axios方式,采用script引入4.官网为方便起见,为所有支......
  • java计算机毕业设计基于Springboot的助学金管理系统设计与实现(开题+程序+论文)
    本系统(程序+源码)带文档lw万字以上 文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容一、研究背景在教育领域,助学金管理是高校及各类教育机构的重要工作内容。随着学生数量的不断增加以及助学金种类和发放规则的日益复杂,传统的助学金管理方式面......
  • java计算机毕业设计基于Springboot的大学宿舍管理系统(开题+程序+论文)
    本系统(程序+源码)带文档lw万字以上 文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容基于Springboot的大学宿舍管理系统的相关研究说明一、研究背景随着大学教育的不断发展,高校招生规模持续扩大,大学宿舍的管理面临着日益复杂的局面。传统的宿......
  • 关于 IntelliJ IDEA 2024 安装激活教程(亲测有效~)
    第一步速度慢的点击这里进行下载第二步点击xx关掉程序!第三步点击获取补丁文件打开标注的文件注意:以后这个文件夹不要动点击进入/scripts点击【确定】按钮后,过程大概5-30秒,如看到弹框提示Done时,表示成功完成,之后打开idea输入6G5NXCPJZB-eyJsaWNlbnN......
  • 基于Java+SpringBoot心理测评心理测试系统功能实现一
    一、前言介绍:1.1项目摘要心理测评和心理测试系统在当代社会中扮演着越来越重要的角色。随着心理健康问题日益受到重视,心理测评和心理测试系统作为评估个体心理状态、诊断心理问题、制定心理治疗方案的工具,其需求和应用范围不断扩大。首先,现代社会节奏快速,竞争激烈,人们面临着来......
  • 基于Java+SpringBoot心理测评心理测试系统功能实现二
    一、前言介绍:1.1项目摘要心理测评和心理测试系统在当代社会中扮演着越来越重要的角色。随着心理健康问题日益受到重视,心理测评和心理测试系统作为评估个体心理状态、诊断心理问题、制定心理治疗方案的工具,其需求和应用范围不断扩大。首先,现代社会节奏快速,竞争激烈,人们面临着来......
  • EViews13下载与安装教程
    EViews13是一款经济计量分析软件,由QMS开发,专门用于时间序列分析、数据管理和预测建模。它广泛应用于经济学研究、金融分析、市场预测和政策评估等领域,为用户提供了丰富的数据分析和建模工具;1、安装包  EViews13(64bit):链接:https://pan.quark.cn/s/13bfd3f50051提取码:6w......
  • SPSS 26 下载与安装教程
    SPSS(StatisticalProductandServiceSolutions),即“统计产品与服务解决方案”,是社会科学研究领域内的翘楚。本教程提供了丰富的数据管理、描述统计、推断统计以及回归分析等功能介绍,界面友好,易学易用;1、安装包 SPSS26:链接:https://pan.quark.cn/s/87f446456d462、安装教......