文章目录
- 一 Redis 容器化部署指南
- 1 获取 Redis 镜像
- 2 服务启动
- 2.1 首次启动新容器
- 2.2 重启已有容器
- 3 服务验证
- 4 连接 Redis
- 5 数据持久化方案
- 5.1 使用 Docker 卷
- 5.2 启用 AOF 持久化
- 6 容器管理
- 6.1 停止容器
- 6.2 删除容器
- 7 数据清理
- 7.1 清空 Redis 数据
- 7.2 完全移除
- 7.3 删除数据卷
- 8 最佳实践
- 二 Redis 常用命令速查指南
- 1 进入 Redis 终端
- 2 安装 nano 编辑器
- 3 查找 redis.conf 配置文件
- 4 获取 Redis 服务器信息
- 5 启用持久化配置
- 6 检查 AOF 持久化状态
- 7 查看容器日志
- 三 Python脚本连接Redis的实践
- 四 其它
- 1 Redis基础数据操作命令
- 2 Redis键管理命令
- 3 Redis数据结构命令
- 4 Redis持久化与性能相关命令
一 Redis 容器化部署指南
1 获取 Redis 镜像
docker pull redis:7.2-alpine # 获取轻量级最新版本
2 服务启动
2.1 首次启动新容器
docker run -d -p 6379:6379 --name myredis redis:7.2-alpine # 返回容器ID表示成功
- 参数说明:
-d
:后台运行容器(detached模式)
-p 6379:6379
:容器到主机的端口映射
--name myredis
:容器命名
redis:7.2-alpine
:指定镜像版本
2.2 重启已有容器
docker start myredis
3 服务验证
docker ps -f name=myredis # 检查容器状态
4 连接 Redis
docker exec -it myredis redis-cli # 可附加参数:-h <host> -p <port> -a <password>
- 参数说明:
docker exec
:在运行中容器执行命令
-it
:交互式终端
redis-cli
:Redis命令行工具
-h/-p/-a
:远程连接参数
5 数据持久化方案
5.1 使用 Docker 卷
docker run -d -p 6379:6379 -v redis-data:/data --name myredis redis:7.2-alpine
- 说明:
-v redis-data:/data
将数据目录挂载到卷
5.2 启用 AOF 持久化
docker run -d -p 6379:6379 --name myredis redis:7.2-alpine redis-server --appendonly yes
- 说明:
--appendonly yes
启用操作日志记录
6 容器管理
6.1 停止容器
docker stop myredis # 持久化数据不受影响
6.2 删除容器
docker rm myredis # 未持久化的数据将丢失
7 数据清理
7.1 清空 Redis 数据
docker exec -it myredis redis-cli FLUSHALL # 保留容器
7.2 完全移除
docker stop myredis
docker rm myredis
7.3 删除数据卷
docker volume rm redis-data
8 最佳实践
- 推荐使用 Docker 卷或目录挂载实现数据持久化
- 配置持久化后,容器停止不会影响数据安全
二 Redis 常用命令速查指南
1 进入 Redis 终端
docker exec -it myredis sh
- 参数说明:
docker exec
:在运行中的容器内执行命令
myredis
:目标容器名称
sh
:启动Shell终端(通常为/bin/sh
)
注:sh与bash功能等价
2 安装 nano 编辑器
apk add --no-cache --virtual .editors nano
- 参数说明:
--no-cache
:跳过本地缓存,直接从远程仓库获取最新版本
--virtual .editors
:创建.editors虚拟包组,便于后续批量卸载
nano
:轻量级终端文本编辑器
3 查找 redis.conf 配置文件
find / -name redis.conf 2>/dev/null
- 参数说明:
/
:从根目录开始递归搜索
-name redis.conf
:精确匹配文件名
2>/dev/null
:屏蔽权限错误提示
4 获取 Redis 服务器信息
redis-cli INFO server
- 参数说明:
INFO
:Redis状态查询命令
server
:返回版本号、运行时长等核心数据
5 启用持久化配置
redis-cli CONFIG SET appendonly yes
redis-cli CONFIG REWRITE
6 检查 AOF 持久化状态
docker exec -it myredis redis-cli CONFIG GET appendonly
# 返回yes表示已启用AOF持久化
7 查看容器日志
docker logs myredis
用于调试和监控Redis运行状态
三 Python脚本连接Redis的实践
import redis# 初始化Redis连接,设置主机、端口和编码等参数
r = redis.Redis(host='127.0.0.1', port=6379, decode_responses=True, encoding='utf-8', max_connections=100# 如需密码验证,添加password参数
)try:# 测试连接print('Redis连接测试:', r.ping())# 存储和获取数据r.set('name', 'Alice')print('获取name值:', r.get('name'))# 计数器操作r.incr('counter', 5)print('计数器增加5后的值:', r.get('counter'))# 删除和检查键r.delete('name')print('检查name键是否存在:', r.exists('name'))print('检查counter键是否存在:', r.exists('counter'))except redis.exceptions.ConnectionError as e:print('连接错误:', e)# 预期输出
"""
Redis连接测试: True
获取name值: Alice
计数器增加5后的值: 25
检查name键是否存在: 0
检查counter键是否存在: 1
"""
容器化部署注意事项:当Redis运行在Docker容器中且Python脚本位于另一容器时,需将host参数设为Redis容器名称(如’myredis’)或内部网络IP地址。
四 其它
1 Redis基础数据操作命令
SET key value
设置键值对,例如SET username "admin"
将username
存储为"admin"
。
GET key
获取键的值,如GET username
返回存储的"admin"
。
DEL key
删除键,如DEL username
移除username
键及其值。
2 Redis键管理命令
KEYS pattern
查找匹配模式的键,如KEYS *
列出所有键。
EXISTS key
检查键是否存在,返回1
或0
。
EXPIRE key seconds
设置键的过期时间,例如EXPIRE session_id 3600
使session_id
在 3600 秒后失效。
3 Redis数据结构命令
LPUSH list_key value
向列表左侧插入值,如LPUSH tasks "task1"
。
RPOP list_key
移除并返回列表右侧的值。
HSET hash_key field value
设置哈希字段值,如HSET user:id1 name "Alice"
。
HGET hash_key field
获取哈希字段的值,如HGET user:id1 name
返回"Alice"
。
4 Redis持久化与性能相关命令
SAVE
手动触发 RDB 持久化,将数据同步保存到磁盘。
BGSAVE
后台异步保存数据到磁盘,不阻塞客户端请求。
INFO
查看 Redis 服务器状态信息,包括内存、客户端、持久化等数据。