Redis的一些使用

总结一下 最近在项目中对redis的一些使用

1.查看最大内存

CONFIG GET maxmemory

我这边结果返回

  1. "maxmemory"

  2. "0"

说明:

  • maxmemory 0 表示:
    • Redis 可以使用无限内存(受限于操作系统可用内存)。

    • 不会主动根据内存使用情况触发淘汰策略(eviction policy)

    • 当系统物理内存耗尽时,可能会导致操作系统 OOM(Out-Of-Memory)杀掉 Redis 进程,或系统变慢甚至崩溃。

设置相关参数

1.动态设置 (临时生效,重启后失效)

CONFIG SET maxmemory 2gb

CONFIG SET maxmemory-policy allkeys-lru

2.修改 Redis 配置文件(永久生效)

相关说明

单位支持:b(字节)、k/kb、m/mb、g/gb,例如 512mb、2g。

maxmemory 0 是 Redis 的默认值(在大多数版本中,尤其是未显式配置时)。

2.查看多个Key是否存在

EXISTS key1 key2 key3 ...

3.单线程的定义

  • 所有客户端发送的命令会排队依次执行
  • 每个命令(如 GETSETINCR)本身是原子的
  • 不会出现两个命令同时修改同一个 key 导致数据错乱

因为高并发的场景下会出现问题

我的业务逻辑需要多个 Redis 命令组合来完成,就需要用到lua脚本,保持原子性

4.导出数据

使用 SAVEBGSAVE 导出 RDB 快照(全量二进制备份)

SAVE:同步保存,会阻塞 Redis 服务。

redis-cli SAVE

BGSAVE:异步保存,在后台 fork 子进程生成快照,推荐使用。

redis-cli BGSAVE

执行后会在 Redis 配置的 dir 目录下生成一个 dump.rdb 文件(默认名),这就是你的数据快照。

**保留所有数据类型和结构。**不能选择性导出部分 key;是二进制格式,不能直接阅读或编辑。

远程导出

因为项目的Redis是在远程服务器上面,我想从远程服务器上面导出到我电脑本地

命令使用

redis-cli -h <host> -p <port> -a <password> --rdb ./dump.rdb

录入

redis-cli -h 192.168.1.100 -p 6379 -a mysecretpassword --rdb ./redis_backup.rdb

注意无法直接从 CLI 内部把远程的 RDB 文件"下载"到本地机器

因为 Redis CLI 是一个命令行客户端,它本身不具备文件传输能力 ------ 所有命令都是发送指令给 Redis 服务端,而 SAVE/BGSAVE 生成的 dump.rdb 文件是保存在 Redis 服务器所在的主机上,不是你的本地电脑

windows版本 需要下载Redis for Windows

https://github.com/microsoftarchive/redis/releases

5.数据恢复

本来想看看是否能和mysql一直在线通过IDE导入的,发现好像不行

我遇到的几个问题,导致没办法导入倒数

1.之前配置的是AOF

**如果 AOF 文件存在,Redis 会忽略 RDB 文件,只从 AOF 恢复数据!**即使你放了 dump.rdb,只要容器内存在 appendonly.aof 文件,Redis 就会加载 AOF ------ 而你的 AOF 文件可能是空的或旧的,导致数据"没恢复"

我选择的方式是先禁用aof,导入rdb 然后再启动aof

日志查看确认

Loading RDB snapshot from disk... --RDB

DB loaded from append only file .... --AOF

2.Redis 的自动保存机制(save 配置)

我之前配置了

save 60 1

如果 60 秒内至少有 1 次修改,就自动触发 BGSAVE

我的测试操作为如下:

  1. 插入两个 key ✅
  2. 执行 BGSAVE此时生成的 RDB 包含这两个 key
  3. 删除这两个 key
  4. 重启 Redis → Redis 加载的是 步骤 2 生成的 RDB(包含 key)
  • Redis 在关闭前会自动保存最终状态 ,所以要在关闭前把备份的rdb文件复制出来

6.RedisInsight 下载使用

后面还有一些,等下次再写

相关推荐
小猿姐3 小时前
实测对比:哪款开源 Kubernetes MySQL Operator 最值得用?(2026 深度评测)
数据库·mysql·云原生
一灯架构4 小时前
90%的人答错!一文带你彻底搞懂ArrayList
java·后端
倔强的石头_5 小时前
从 “存得下” 到 “算得快”:工业物联网需要新一代时序数据平台
数据库
Y4090015 小时前
【多线程】线程安全(1)
java·开发语言·jvm
TDengine (老段)6 小时前
TDengine IDMP 可视化 —— 分享
大数据·数据库·人工智能·时序数据库·tdengine·涛思数据·时序数据
布局呆星6 小时前
SpringBoot 基础入门
java·spring boot·spring
风吹迎面入袖凉6 小时前
【Redis】Redisson的可重入锁原理
java·redis
GottdesKrieges6 小时前
OceanBase数据库备份配置
数据库·oceanbase
w6100104666 小时前
cka-2026-ConfigMap
java·linux·cka·configmap