Mac 安装 Redis + Spring Boot 整合 Redis(完整实战指南)

一、为什么用 Redis?

没有 Redis,你的数据库迟早会被高并发打爆。

场景 Redis 的作用
首页数据 缓存热点数据
用户登录 存储 Session / Token
秒杀库存 原子计数
分布式系统 分布式锁

二、Mac 安装 Redis(完整步骤)

✅ Step 1:安装 Homebrew(Mac 神器)

如果你还没装 Homebrew(终端里执行 brew -v没反应):

复制代码
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

安装完成后,按终端提示把 brew加入环境变量。


✅ Step 2:安装 Redis

复制代码
brew install redis

安装完成后,你会看到 Redis 的版本号。


✅ Step 3:启动 Redis(两种方式)

✅ 方式一:后台运行(推荐)
复制代码
brew services start redis

✅ 开机自启,关终端也不停。

✅ 方式二:前台运行(调试用)
复制代码
redis-server

✅ Step 4:验证 Redis 是否安装成功

打开 新终端窗口,执行:

复制代码
redis-cli ping

✅ 返回:

复制代码
PONG

🎉 恭喜,Redis 已经在你的 Mac 上跑起来了。


✅ Step 5:Redis 基础命令

复制代码
redis-cli
127.0.0.1:6379> set name beiluo
OK
127.0.0.1:6379> get name
"beiluo"

三、Spring Boot 整合 Redis(Redisson)

⚠️ 强烈建议用 Redisson,不要用 Jedis/Lettuce

Redisson 自带分布式锁、布隆过滤器,企业级开发首选。


✅ Step 1:创建 Spring Boot 项目

  • Spring Boot:2.6.13
  • Java:8 / 11 / 17
  • 依赖:Spring Web

✅ Step 2:引入 Redisson 依赖(关键)

⚠️ 版本一定要对!

复制代码
<dependency>
    <groupId>org.redisson</groupId>
    <artifactId>redisson-spring-boot-starter</artifactId>
    <version>3.16.8</version>
</dependency>

📌 Spring Boot 2.6.x + Redisson 3.16.8 = 稳


✅ Step 3:application.yml 配置

复制代码
server:
  port: 8080

spring:
  redis:
    host: localhost
    port: 6379

✅ Step 4:Redisson 配置类(核心)

一定要显式指定 Codec(编码方式),否则你会遇到各种反序列化报错。

复制代码
@Configuration
public class RedisConfig {

    @Bean
    public RedissonClient redissonClient() {
        Config config = new Config();
        config.useSingleServer()
              .setAddress("redis://127.0.0.1:6379");

        // ✅ 使用 JSON 编解码器(最通用)
        config.setCodec(new JsonJacksonCodec());

        return Redisson.create(config);
    }
}

四、Spring Boot 操作 Redis(实战代码)

✅ 1️⃣ 字符串读写(最常用)

复制代码
@RestController
@RequestMapping("/redis")
public class RedisTestController {

    @Autowired
    private RedissonClient redissonClient;

    @GetMapping("/set")
    public String set() {
        RBucket<String> bucket =
            redissonClient.getBucket("demo", StringCodec.INSTANCE);
        bucket.set("hello-redis");
        return "set ok";
    }

    @GetMapping("/get")
    public String get() {
        RBucket<String> bucket =
            redissonClient.getBucket("demo", StringCodec.INSTANCE);
        return bucket.get();
    }
}

访问:

复制代码
http://localhost:8080/redis/get

✅ 返回 hello-redis


✅ 2️⃣ 对象存储(JSON)

复制代码
@Data
@AllArgsConstructor
@NoArgsConstructor
public class User {
    private Integer id;
    private String name;
}
@GetMapping("/user")
public User user() {
    RBucket<User> bucket =
        redissonClient.getBucket("user:1", JsonJacksonCodec.INSTANCE);

    User user = new User(1, "beiluo");
    bucket.set(user);
    return bucket.get();
}

✅ 3️⃣ 分布式锁(Redisson 杀手锏)

复制代码
@GetMapping("/lock")
public String lock() {
    RLock lock = redissonClient.getLock("order:lock");

    try {
        lock.lock();
        // 模拟业务操作
        Thread.sleep(1000);
        return "业务执行成功";
    } catch (InterruptedException e) {
        return "异常";
    } finally {
        lock.unlock();
    }
}

✅ 解决 并发安全问题


五、会踩的坑(提前避雷)

❌ 坑 1:Redis 没启动

复制代码
Unable to connect to Redis

✅ 解决:

复制代码
brew services start redis

❌ 坑 2:Codec 不一致

报错 原因
Unsupported protocol version Marshalling 冲突
Unrecognized token JSON 解析字符串失败

解决 :显式指定 StringCodecJsonJacksonCodec


❌ 坑 3:Redisson 版本太高

Spring Boot Redisson
2.6.x ✅ 3.16.8
3.x ✅ 3.23+

相关推荐
ITKEY_6 小时前
macOS brew 安装的nginx 文件在哪里?
运维·nginx·macos
西门吹-禅6 小时前
java springboot N+1问题
java·开发语言·spring boot
weixin_BYSJ19877 小时前
SpringBoot + MySQL 乒乓球运动员信息管理系统项目实战--附源码04954
java·javascript·spring boot·python·django·flask·php
大E帝国子民17 小时前
MacOS 安装Seismic Unix
服务器·macos·unix
leoZ2318 小时前
Claude 驱动的全栈开发:Spring Boot + Vue 的 BS 架构实践
vue.js·spring boot·架构
ffqws_9 小时前
redis面试:如何保证双写一致
数据库·redis·缓存
shepherd11111 小时前
一次把 Spring MVC 文件上传参数“查没了”的排查:multipart、Filter 与 request body 的连环坑
java·spring boot·后端
z***刺13 小时前
VMware安装macOS安装教程(附安装包)2025超详细下载安装教程
其他·macos
宠友信息13 小时前
MySQL 租户数据隔离在即时通讯源码后端中的落地方式
java·数据库·spring boot·redis·websocket·mysql
ReaF_star13 小时前
【工具】把 eDiary 改造成了“云日记本”:两台 Mac 同步笔记的折腾记录
macos·效率工具·文件同步·icloud drive·ediary·mac 自动化