首页 > 数据库 >springboot2整合redis

springboot2整合redis

时间:2023-07-25 17:33:02浏览次数:42  
标签:缓存 redis Redis springframework springboot2 整合 spring public

Spring Boot 2 整合 Redis

概述

本文旨在指导刚入行的开发者如何在 Spring Boot 2 中实现 Redis 的整合。Redis 是一种高性能的内存数据库,常用于缓存、消息队列和分布式会话等场景。通过将 Redis 与 Spring Boot 2 整合,我们可以更方便地使用 Redis 提供的各种功能。

整合步骤

下表展示了整合 Redis 的步骤:

步骤 描述
1 添加 Redis 依赖
2 配置 Redis 连接信息
3 编写 Redis 相关业务代码

接下来,我们将逐步进行每个步骤的详细说明。

步骤一:添加 Redis 依赖

首先,我们需要在 Maven 或 Gradle 构建文件中添加 Redis 相关依赖。在 Spring Boot 2 中,我们可以使用 spring-boot-starter-data-redis 自动配置模块来简化整合过程。

Maven 依赖配置

pom.xml 文件中,添加以下依赖:

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

Gradle 依赖配置

build.gradle 文件中,添加以下依赖:

implementation 'org.springframework.boot:spring-boot-starter-data-redis'

完成以上步骤后,执行构建命令以引入 Redis 依赖。

步骤二:配置 Redis 连接信息

在 Spring Boot 2 中,我们可以通过在配置文件(如 application.propertiesapplication.yml)中指定 Redis 的连接信息来进行配置。

配置文件示例

以下是一个配置 Redis 连接信息的示例:

spring.redis.host=localhost
spring.redis.port=6379
spring.redis.password=
spring.redis.database=0
  • spring.redis.host:Redis 服务器主机名,默认为 localhost。
  • spring.redis.port:Redis 服务器端口,默认为 6379。
  • spring.redis.password:Redis 服务器密码,默认为空。
  • spring.redis.database:Redis 数据库索引,默认为 0。

根据自己的实际情况,修改相应的配置参数。

步骤三:编写 Redis 相关业务代码

在完成上述配置后,我们可以开始编写 Redis 相关的业务代码了。下面以一个简单的缓存示例来说明如何使用 Redis。

创建 Redis 缓存管理类

首先,我们需要创建一个 Redis 缓存管理类,用于操作 Redis 缓存。可以参考以下代码:

import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.stereotype.Component;

@Component
public class RedisCacheManager {

    private final RedisTemplate<String, Object> redisTemplate;

    public RedisCacheManager(RedisTemplate<String, Object> redisTemplate) {
        this.redisTemplate = redisTemplate;
    }

    public void put(String key, Object value) {
        redisTemplate.opsForValue().set(key, value);
    }

    public Object get(String key) {
        return redisTemplate.opsForValue().get(key);
    }

    public void delete(String key) {
        redisTemplate.delete(key);
    }
}

上述代码中,我们通过注入 RedisTemplate 实例来操作 Redis 缓存。RedisTemplate 提供了各种操作 Redis 的方法,例如 opsForValue() 可以操作 Redis 的字符串存储。

使用 Redis 缓存

在需要使用 Redis 缓存的地方,我们可以直接注入 RedisCacheManager 实例,然后调用相应的方法即可。以下是一个使用 Redis 缓存的示例:

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class UserController {

    private final RedisCacheManager redisCacheManager;

    @Autowired
    public UserController(RedisCacheManager redisCacheManager) {
        this.redisCacheManager = redisCacheManager;
    }

    @GetMapping("/user/{id}")
    public User getUser(@PathVariable Long id) {
        // 先从缓存中获取
        User user = (User) redisCacheManager.get("user:" + id);
        if (user == null) {
            // 如果缓存中不存在,则从数据库中获取
            user = userService.getUserById(id);
            // 将从数据库中获取到的用户信息存

标签:缓存,redis,Redis,springframework,springboot2,整合,spring,public
From: https://blog.51cto.com/u_16175439/6847450

相关文章

  • springboot redis 缓存数据
    SpringBootRedis缓存数据实现教程一、整体流程下面是实现SpringBootRedis缓存数据的整体流程:步骤操作1引入Redis依赖2配置Redis连接信息3创建缓存注解4使用缓存注解接下来,我将逐步介绍每个步骤需要做的事情,包括需要使用的代码以及代码的注释。二......
  • spring-boot-starter-data-redis数据压缩
    SpringBootStarterDataRedis数据压缩在使用SpringBoot开发应用时,经常需要使用Redis来进行数据存储和缓存操作。为了提高性能和减少网络传输开销,我们可以对Redis中存储的数据进行压缩。什么是数据压缩数据压缩是一种将数据通过某种算法进行处理,以减小数据占用空间的方法。......
  • vue redis
    实现VueRedis简介在开始讲解实现"VueRedis"之前,我们先来了解一下Redis是什么。Redis(RemoteDictionaryServer)是一个开源的内存数据结构存储系统,它常用于高性能的存储和数据缓存。Vue.js是一个用于构建用户界面的渐进式JavaScript框架。而"VueRedis"的目标是将Redis与Vue.js......
  • Redis操作类
    usingCSRedis.Internal.ObjectPool;usingSystem;usingSystem.Collections.Concurrent;usingSystem.Collections.Generic;usingSystem.Diagnostics;usingSystem.Linq;usingSystem.Text.RegularExpressions;usingSystem.Threading;usingSystem.Threading.Tasks......
  • 手动r删除redis过期的key
    如何手动删除Redis过期的Key介绍在使用Redis时,经常会遇到Key过期的情况。Redis提供了自动过期机制,但有时候我们需要手动删除过期的Key。本文将介绍如何手动删除Redis过期的Key,以及每一步所需的代码。整体流程下面是手动删除Redis过期Key的整体流程。步骤......
  • 使用redis有哪些好处
    使用Redis的好处1.引言Redis是一种高性能的键值存储系统,被广泛应用于缓存、消息队列、计数器等场景。它支持多种数据结构,包括字符串、哈希表、列表、集合和有序集合,提供了丰富的操作命令,能够满足不同业务场景的需求。在本文中,我将向你介绍使用Redis的好处,并指导你如何一步步实......
  • Redis Scan命令踩坑笔记
    前记大部分人在接触Redis时就都会了解到Redis是以单线程的形式处理用户命令,导致O(N)的命令有极大的几率会阻塞Redis,所以在使用Redis时需要放弃一些O(n)命令的使用,比如不要去使用KEYS命令而应该使用SCAN命令,然而SCAN命令也有一些坑。1.踩到的坑为了减少MySQL的压力,在部分变动比较少......
  • 纯手撸 Django web框架批量删除redis的key
    纯手撸Djangoweb框架批量删除redis的key环境环境参照上一章节博客部署环境,在此基础上进行功能加强【批量删除指定前缀的key】,然后再CI里面掉这个接口地址即可清理redis缓存的key,更加高效的运维工作修改视图##mysite/myweb1/views.py#Createyourviewshere.fromdj......
  • Centos7.6 安装Redis7
    方式一:包安装1.安装(#默认安装redis-3.2.12)yuminstall-yredis2.启动并设置开机自启动systemctlenable--nowredis3.查看6379端口是否开启ss-ntl方式二:编译安装1.安装依赖包yum-yinstallgccmakejemalloc-develsystemd-devel2.下载源码包#其它版本......
  • php redis消息队列
    1、php如何把key存储在不同的redis分片上2、php怎么查看redis的key3、用phpredis操作redis集群支持publish和subscribe吗4、php2018怎么安装redis5、redis使用php怎么进行更新php如何把key存储在不同的redis分片上php如何把key存储在不同的redis分片上redis集群部署方式......