Redis:GUI 客户端(Redis Insight / Tiny RDM)、基础操作、Spring Boot 连接实现

一、下载Redis客户端工具

(一) Redis Insight

1. 下载 Redis Insight

Downloads | Redis


2. 创建一个能被 Redis Insight 成功连接的 Redis 实例

(1)创建配置目录
复制代码
mkdir -p /home/xiaoman/software/redis/7009
cd /home/xiaoman/software/redis/7009
(2)创建 redis-7009.conf
复制代码
nano redis-7009.conf

port 7009
bind 0.0.0.0
protected-mode no
daemonize yes
dir ./
logfile "redis-7009.log"
appendonly no

bind 0.0.0.0 → 允许本机 + 局域网访问

protected-mode no → 允许远程连接

daemonize yes → 后台运行

appendonly no → 简化测试

(3)启动 Redis
复制代码
redis-server redis-7009.conf

确认是否成功:

复制代码
ps -ef | grep 7009
(4)测试本地连接
复制代码
redis-cli -p 7009 ping

PONG 说明实例正常运行。

(5) 放行端口

如果Linux 是 Ubuntu → 用 UFW:

复制代码
sudo ufw allow 7009
sudo ufw reload

如果使用 firewalld(CentOS):

复制代码
sudo firewall-cmd --add-port=7009/tcp --permanent
sudo firewall-cmd --reload
(6)用 Redis Insight 连接

此时就连接完成。


3. Redis Insight 图形界面基础操作(GUI)

(1)设置Key(String类型)

(2)创建List(列表)

显示


(3) 创建Hash(哈希对象)

显示


(4) 删除Key

4. Redis Insight 内置命令行(CLI)操作

(1)String 类型


(2)List 类型

(3)Hash 类型

(4)Set类型

(5) 删除 Key

(6)设置过期时间

(二)Tiny RDM

1. 下载Tiny RDM

Tiny RDM | Redis桌面管理客户端

建立连接

二、SpringBoot 连接Redis

(一)创建 SpringBoot 项目

(二)添加 Maven 依赖

pom.xml

复制代码
<dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter</artifactId>
        </dependency>

        <!-- Spring Web -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

        <!-- Spring Data Redis -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-redis</artifactId>
        </dependency>

        <!-- Lombok -->
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <optional>true</optional>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
    </dependencies>

(三)配置 Redis 连接

1. 在 src/main/resources/application.properties 中添加

java 复制代码
spring.data.redis.host=127.0.0.1
spring.data.redis.port=6379
#spring.data.redis.username=default         # Redis 6+ 需要用户名,默认 default
#spring.data.redis.password=               # 如果没有密码可以留空
spring.data.redis.timeout=5000ms
spring.data.redis.database=0

注意:

timeout 现在必须带单位,比如 5000ms

Redis 6+ 可以有用户名 spring.data.redis.username,旧版本不用也行

端口、host、database 都在 spring.data.redis 前缀下

2. 检查Redis是否有密码

方法1:使用 redis-cli

复制代码
redis-cli

进入后,执行命令:

复制代码
CONFIG GET requirepass

如果值是空的 "",说明 Redis 没有密码

如果有值,说明 Redis 设置了密码

或者直接尝试连接:

复制代码
redis-cli -h 127.0.0.1 -p 6379

如果 Redis 提示 NOAUTH Authentication required,说明开启了密码,需要用:

复制代码
redis-cli -h 127.0.0.1 -p 6379 -a yourpassword

方法 2:查看 redis.conf 配置文件

在 redis.conf 中找到:

复制代码
# requirepass foobared

去掉 # 并设置密码,就启用密码

留空或注释掉就是无密码


(四)配置 RedisTemplate(可选自定义)

RedisConfig.java:

java 复制代码
@Configuration
public class RedisConfig {

    @Bean
    public RedisTemplate<String, Object> redisTemplate(LettuceConnectionFactory connectionFactory) {
        RedisTemplate<String, Object> template = new RedisTemplate<>();
        template.setConnectionFactory(connectionFactory);

        // 使用 String 序列化 key
        template.setKeySerializer(new StringRedisSerializer());
        template.setHashKeySerializer(new StringRedisSerializer());
        template.setValueSerializer(new StringRedisSerializer());
        template.setHashValueSerializer(new StringRedisSerializer());

        template.afterPropertiesSet();
        return template;
    }
}

这里使用 String 序列化,方便在 Redis 中查看数据。


(五)编写 Redis 服务

RedisService.java:

java 复制代码
@Service
public class RedisService {

    @Autowired
    private RedisTemplate<String, Object> redisTemplate;

    public void set(String key, String value, long timeoutSeconds) {
        redisTemplate.opsForValue().set(key, value, timeoutSeconds, TimeUnit.SECONDS);
    }

    public String get(String key) {
        Object value = redisTemplate.opsForValue().get(key);
        return value != null ? value.toString() : null;
    }

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

(六)编写 Controller

RedisController.java:

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

    @Autowired
    private RedisService redisService;

    @PostMapping("/set")
    public String set(@RequestParam String key, @RequestParam String value) {
        redisService.set(key, value, 60); // 过期 60 秒
        return "ok";
    }

    @GetMapping("/get")
    public String get(@RequestParam String key) {
        return redisService.get(key);
    }

    @DeleteMapping("/delete")
    public String delete(@RequestParam String key) {
        redisService.delete(key);
        return "deleted";
    }
}

(七)启动类

RedisDemoApplication.java:


(八)测试

  1. 启动 Redis 服务

127.0.0.1:6379>说明已经成功启动

  1. 启动 Spring Boot 项目

  2. 使用 Postman 或浏览器访问接口

java 复制代码
POST  http://localhost:8080/redis/set?key=name&value=Aria
GET   http://localhost:8080/redis/get?key=name
DELETE http://localhost:8080/redis/delete?key=name
相关推荐
两个蝴蝶飞1 天前
Java量化系列(四):实现自选股票维护功能
java·经验分享
短剑重铸之日1 天前
7天读懂MySQL|Day 5:执行引擎与SQL优化
java·数据库·sql·mysql·架构
酒九鸠玖1 天前
Java--多线程
java
Dreamboat-L1 天前
云服务器上部署nginx
java·服务器·nginx
长安er1 天前
LeetCode215/347/295 堆相关理论与题目
java·数据结构·算法·leetcode·
cici158741 天前
C#实现三菱PLC通信
java·网络·c#
k***92161 天前
【C++】继承和多态扩展学习
java·c++·学习
weixin_440730501 天前
java结构语句学习
java·开发语言·学习
JIngJaneIL1 天前
基于java+ vue医院管理系统(源码+数据库+文档)
java·开发语言·前端·数据库·vue.js·spring boot
Coder_Boy_1 天前
Spring AI 源码大白话解析
java·人工智能·spring