文章目录

  • 一 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 检查键是否存在,返回10
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 服务器状态信息,包括内存、客户端、持久化等数据。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/web/92304.shtml
繁体地址,请注明出处:http://hk.pswp.cn/web/92304.shtml
英文地址,请注明出处:http://en.pswp.cn/web/92304.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ubuntu 2024 安装拼音输入法

1. 卸载ibussudo apt remove ibus2. install fcitx5核心组件sudo apt install fcitx5 fcitx5-chinese-addons fcitx5-material-color3. 安装中文语言支持sudo apt install language-pack-zh-hans4. 设置默认输入法im-config -n fcitx55. 配置环境变量sudo vim ~/.bashrc粘贴&am…

语言模型的多个agent

是的&#xff0c;语言模型 在某些情况下确实可以通过多个 agent&#xff08;代理&#xff09;来共同协作完成任务。这种设计通常用于复杂任务或需要多步骤处理的场景&#xff0c;具体的流程如下&#xff1a; 1. 什么是 Agent&#xff1f; Agent&#xff08;代理&#xff09; 是…

CSS--:root指定变量,其他元素引用

原文网址&#xff1a;CSS--:root指定变量&#xff0c;其他元素引用-CSDN博客 简介 本文介绍CSS中使用变量的方法。 场景描述 CSS可以使用变量&#xff0c;比如&#xff1a;指定整个网页的主体颜色作为变量&#xff0c;其他的元素去使用这个颜色。这样在修改颜色时&#xff…

秋招笔记-8.7

今天先来补充一下关于Unity和UE的一些问题&#xff0c;后续开始深挖项目&#xff1a;Unity关于fixed update和update&#xff1a;同一帧中物理更新优先执行&#xff1f;关于协程&#xff1a;协程是基于迭代器实现的&#xff0c;而迭代器是基于状态机实现的。协程的本质是编译器…

DAY 26 函数专题1:函数定义与参数

浙大疏锦行知识点回顾&#xff1a; 函数的定义变量作用域&#xff1a;局部变量和全局变量函数的参数类型&#xff1a;位置参数、默认参数、不定参数传递参数的手段&#xff1a;关键词参数传递参数的顺序&#xff1a;同时出现三种参数类型时 作业 #作业1 import math def calcul…

跨学科视域下的深层语义分析与人类底层逻辑一致性探索

摘要本文章旨在系统性地探讨一个前沿的交叉学科研究课题&#xff1a;如何通过深层语义分析&#xff0c;探索并建模人类认知中普遍存在的底层逻辑一致性。此研究横跨自然语言处理&#xff08;NLP&#xff09;、知识图谱&#xff08;KG&#xff09;、认知科学、脑神经科学、系统科…

Flink CDC如何保障数据的一致性?

Flink CDC 通过 Checkpoint 机制、幂等性设计 和 事务一致性协议 保障数据同步的一致性。以下是具体实现方式和关键配置&#xff1a;1. Checkpoint 机制&#xff08;核心保障&#xff09;作用&#xff1a;定期保存同步状态&#xff08;包括 Binlog 位置和全量快照进度&#xff…

上传文件至华为云OBS

1 创建华为云Bucket1.1 创建Bucket1.2 获取Bucket的Endpoint1.3 获取访问凭证注&#xff1a;每个访问密钥仅能下载一次&#xff0c;为了账号安全性&#xff0c;建议您定期更换并妥善保存访问密钥。不再使用的访问密钥&#xff0c;建议停用和删除。2 创建Sprint Boot工程创建一个…

使用驱动移除内核回调,

https://br-sn.github.io/Removing-Kernel-Callbacks-Using-Signed-Drivers/ 原创 大蓝 RJ45实验室 使用签名驱动移除内核回调-安全KER - 安全资讯平台 介绍 创建该PoC的目的是了解驱动漏洞利用程序的强大功能&#xff0c;以及EDR如何使用内核回调以防止恶意软件的攻击。…

从零搭建Cloud Alibaba (下) Sentinel篇

1.Sentinel控制台的安装 下载地址&#xff1a; Releases alibaba/Sentinelx 下载后是一个jar包 进入目录 CMD命令 java -jar "sentinel-dashboard-1.8.8 .jar" 如果发生了端口冲突则使用以下命令启动 修改端口号为8090 java -Dserver.port8090 -jar "sen…

Numpy科学计算与数据分析:Numpy数学函数入门与实践

Numpy数学函数实战&#xff1a;探索数学运算的无限可能 学习目标 通过本课程的学习&#xff0c;学员将掌握Numpy中常用的数学函数&#xff0c;包括三角函数、指数函数和对数函数的使用方法&#xff0c;以及如何利用这些函数对数组进行高效的数学运算。本课程不仅会讲解理论知识…

BIGO Ads是什么?BIGO广告营销核心玩法解析

在全球化竞争白热化的当下&#xff0c;BIGO Ads凭借其覆盖150国家的庞大流量池和AI驱动的精准营销能力&#xff0c;已成为出海企业突破增长瓶颈的利器。2025年Q1数据显示&#xff0c;BIGO Ads广告业务同比增长27%&#xff0c;非直播收入占比达24.9%&#xff0c;成为欢聚集团第二…

人工智能领域、图欧科技、IMYAI智能助手2025年3月更新月报

2025年3月AI领域重要技术进展与平台更新概览 2025年3月&#xff0c;人工智能领域迎来一系列重要技术更新与平台功能迭代&#xff0c;尤其在多模态模型、图像生成编辑、视频生成、大型语言模型&#xff08;LLM&#xff09;性能提升等方面表现活跃。以下是对关键进展的梳理&#…

STM32HAL 快速入门(一):点灯前的准备 —— 从软件安装到硬件原理

前言 大家好&#xff0c;这里是 Hello_Embed。嵌入式开发的 “Hello World” 是点灯 —— 通过控制单片机引脚的高低电平&#xff0c;让 LED 亮灭。要实现这个功能&#xff0c;前期准备必不可少&#xff1a;从软件安装到硬件原理理解&#xff0c;每一步都很关键。本文就来详细说…

Python网络编程技术

一、网络编程基础概念 1.1 什么是网络编程&#xff1f; 定义&#xff1a;程序通过网络与其他程序进行通信的技术。核心目标&#xff1a;实现数据在不同主机或进程间的传输与交互。应用场景&#xff1a;Web服务、API调用、实时通信、分布式系统等。 1.2 网络通信模型 OSI七层…

基于PHP的快递管理系统的设计与实现

管理员&#xff1a;登录&#xff1a;管理员可以通过用户名和密码登录系统&#xff0c;进入管理员后台管理界面。个人中心&#xff1a;管理员可以查看和编辑个人信息&#xff0c;如姓名、联系方式等。用户管理&#xff1a;管理员可以管理系统中的用户信息&#xff0c;包括添加新…

WPF的C1FlexGrid的单元格回车换行输入

重写C1FlexGrid的按键事件PreviewKeyDown"flex_PreviewKeyUp" 定义按键方法private void flex_PreviewKeyUp(object sender, KeyEventArgs e){if (e.Key Key.Enter){// 获取当前编辑的单元格var cell CfgReviewItem.Selection;if (cell.Column > 0 && …

简单部署普罗米修斯(Promethus)与Grafana配置

环境信息&#xff1a;系统版本ubuntu2404k8s版本v1.22.2promethus节点IP192.168.31.210Grafana节点IP192.168.31.210node1节点IP192.168.31.214node2节点IP192.168.31.215部署Promethus&#xff08;https://prometheus.io/download/&#xff09; wget https://ghfast.top/https…

Redis 编译错误:缺少静态库文件,如何解决?

目录 一、问题背景 二、问题分析 三、解决方案&#xff1a;手动编译缺失依赖 四、重新编译 Redis 主程序 五、小结与补充建议 一、问题背景 在从源代码编译 Redis&#xff08;如 8.0.3 版本&#xff09;时&#xff0c;很多开发者可能会遇到如下错误信息&#xff1a; /us…

vscode+latex本地英文期刊环境配置

1、首先进行vscode的配置安装&#xff0c;这个网上很多教程直接安装就可以&#xff0c;我建议安装vscode就行&#xff08;https://code.visualstudio.com/Download&#xff09;&#xff0c;vs studio稍微有点复杂而且有点大没必要&#xff0c;单写论文和简单的代码编译&#xf…