前言
在前两篇内容中,我们已经梳理了 Redis 的基础功能与核心数据结构,足以支撑常规的缓存、计数等场景。但在量化交易系统中,Redis 往往承载着实时行情快照、策略运行状态、委托订单记录等核心业务数据,一旦发生数据丢失或服务被非法访问,极可能影响策略正常运行,甚至带来直接的资金风险。
本篇将带大家学习 Redis 的两大进阶核心能力 ------数据备份与恢复 、服务安全配置,为量化交易系统的数据可靠性筑牢基础。
一、Redis 数据备份与恢复
针对数据丢失风险,Redis 提供了基于 RDB 文件的备份恢复机制,我们可以手动触发备份,在故障发生时快速还原全量数据。
1. SAVE 前台备份命令
SAVE 是最基础的备份命令,执行后会同步生成当前数据库的全量备份文件 dump.rdb,文件默认保存在 Redis 的工作目录中。
命令语法:
SAVE
执行实例:
127.0.0.1:6379> SAVE
OK
需要注意的是,SAVE 命令执行期间会阻塞 Redis 的所有请求处理,仅适合测试环境或低峰期使用,不建议在量化交易时段执行。
2. BGSAVE 后台备份命令
生产环境更推荐使用 BGSAVE 命令,它会 fork 子进程在后台异步执行备份,全程不会阻塞正常的业务请求,完全适配量化交易的高可用性要求。
执行实例:
127.0.0.1:6379> BGSAVE
Background saving started
3. 数据恢复操作
当遇到数据损坏、丢失需要恢复时,只需两步即可完成:
- 将备份文件
dump.rdb移动到 Redis 的工作目录下 - 重启 Redis 服务,服务启动时会自动读取并加载 rdb 文件,完成全量数据恢复
我们可以通过 CONFIG 命令查询 Redis 的工作目录路径:
127.0.0.1:6379> CONFIG GET dir
1) "dir"
2) "/usr/local/redis/bin"
二、Redis 服务安全配置
量化交易相关的 Redis 服务存储着策略参数、账户数据等敏感信息,必须做好访问权限管控。最基础也最核心的安全手段,就是开启密码验证。
1. 密码配置方法
Redis 默认关闭密码验证,我们可以通过 CONFIG 命令动态查看和设置连接密码,无需重启服务即可生效。
查看当前密码配置:
127.0.0.1:6379> CONFIG GET requirepass
1) "requirepass"
2) ""
默认状态下 requirepass 参数为空,任意客户端都可以直接连接并执行命令。
动态设置连接密码:
127.0.0.1:6379> CONFIG SET requirepass "runoob"
OK
注意:通过
CONFIG SET设置的密码仅临时生效,Redis 服务重启后会失效。如需永久配置密码,请修改redis.conf配置文件中的requirepass字段。
2. AUTH 密码验证
设置密码后,客户端连接 Redis 后必须先完成身份验证,才能执行后续命令,验证使用 AUTH 命令。
命令语法:
AUTH 你的密码
执行实例:
127.0.0.1:6379> AUTH "runoob"
OK
127.0.0.1:6379> SET mykey "Test value"
OK
127.0.0.1:6379> GET mykey
"Test value"
文末总结
数据备份是量化交易系统容灾体系的关键一环,而密码验证是保障 Redis 数据安全的第一道防线。掌握这两项基础配置,才能让 Redis 在量化场景中稳定、安全地运行。后续我们还会继续讲解 Redis 的更多进阶特性,助力大家的量化开发之路。