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
相关推荐
南朝雨7 小时前
Spring Boot Admin日志监控坑点:远程配置的logging.file.name为何生效又失效?
java·spring boot·spring cloud·微服务·logback
sanggou7 小时前
Spring Cloud Gateway 转发 SSE 的那些坑
java
それども7 小时前
理解 Java21 虚拟线程
java
毕设源码-赖学姐7 小时前
【开题答辩全过程】以 基于JAVA的宠物医院管理系统的设计为例,包含答辩的问题和答案
java·开发语言
Kratzdisteln7 小时前
【1902】0121-1 Dify工作流节点详细配置(方案B最终版)
java·前端·javascript
lbb 小魔仙7 小时前
【Java】Java JVM 调优实战:GC 调优参数 + 内存泄漏排查,线上性能提升实战
java·开发语言·jvm
大柏怎么被偷了7 小时前
【Linux】线程的概念
java·linux·jvm
Script kid7 小时前
Redis(Remote Dictionary Server远程字典服务器)五种常见数据结构及常见用法和指令
服务器·数据结构·redis
IT 行者7 小时前
基于Servlet的纯原生Java Web工程之工程搭建:去除依赖的繁琐,返璞归真
java·前端·servlet
wenjianhai7 小时前
若依(RuoYi-Vue-Plus)框架使用WebSocket(2)
java·若依·websocke4t