Redis基础使用

Redis基础使用

下载

官网下载地址如下:

3.0:http://download.redis.io/releases/redis-3.0.0.tar.gz

4.0:http://download.redis.io/releases/redis-4.0.14.tar.gz

5.0:http://download.redis.io/releases/redis-5.0.14.tar.gz

6.2:http://download.redis.io/releases/redis-6.2.14.tar.gz

将 redis-5.0.4.tar.gz 拷贝到服务器 /usr/local/src/redis 目录下,使用 tar -zxvf redis-5.0.4.tar.gz 命令进行解压

也可以在 Linux 服务器终端执行wget命令,直接下载源码压缩包到当前目录,无需手动上传:

bash 复制代码
# 下载3.0.4版本
wget http://download.redis.io/releases/redis-3.0.4.tar.gz

# 下载4.0.14版本
wget http://download.redis.io/releases/redis-4.0.14.tar.gz

# 下载5.0.14稳定版
wget http://download.redis.io/releases/redis-5.0.14.tar.gz

如果直接访问官网下载速度慢,可使用国内镜像源,速度更快:

bash 复制代码
# 阿里云镜像下载5.0.14版本
wget https://mirrors.aliyun.com/redis/releases/redis-5.0.14.tar.gz

# 阿里云镜像下载6.2.14版本
wget https://mirrors.aliyun.com/redis/releases/redis-6.2.14.tar.gz

下面需要进入下载的 Redis 实例目录

bash 复制代码
cd /usr/local/src/redis/redis-5.0.4

Redis 的核心代码全部由 C 语言编写,而 C 语言属于编译型语言,源码必须先通过编译器转换成和当前操作系统 / 硬件架构匹配的二进制机器码(即可执行文件),电脑才能直接运行,而 make 就是自动化完成这一系列编译步骤的工具。并且由于 Redis 是跨平台软件,不同操作系统、不同硬件架构的机器码指令集和二进制格式不同,而源码包是通用的,make编译时会读取 Redis 的Makefile文件,并调用编译器自动检测你的系统环境,编译出适配当前环境的二进制可执行文件(如redis-server)。

bash 复制代码
make

安装目录如下:

其中 redis.conf 是 redis 的配置文件

port 用于设置 redis 进程的端口,默认是 6379

设置 redis 可远程访问(3.0默认允许,4.0需要手动设置)

默认是 bind 127.0.0.1,仅允许本地访问,修改为 bind 0.0.0.0,允许所有 IP 访问

另外还有预编译包安装 Redis 的方式在我这篇博客里有详细介绍 前后端分离项目 Springboot+vue 在云服务器上的部署

启动

前端模式启动

前端模式启动无需修改任何配置(默认daemonize=no),开箱即用

进入Redis安装目录的 src 目录,redis-server 是 Redis 的服务启动程序

bash 复制代码
./redis-server

Redis 直接占用当前终端,所有日志实时输出到终端;前端模式启动的缺点是ssh命令窗口关闭则 redis-server 程序结束,不推荐使用此方法。

后台启动

修改 redis.conf 配置文件, daemonize yes 后端模式启动

加载指定配置并启动 Redis

bash 复制代码
./src/redis-server ./redis.conf

查看 Redis 进程

bash 复制代码
ps -ef|grep redis

Redis 以守护进程形式运行在系统后台,终端可正常输入其他命令,即使关闭终端,Redis 进程仍持续运行;日志会输出到配置文件指定的日志文件。

终止 Redis 服务

bash 复制代码
./redis-cli shutdown

若端口号不是6379,那么需要将其更换成对应的端口号

bash 复制代码
./redis-cli -p 6380 shutdown

通过客户端向 Redis 服务端发送停止指令,服务端接收到指令后会按固定流程主动退出。

若如果直接用 kill 命令强制终止 Redis 进程,会导致数据丢失、文件损坏、资源泄漏、客户端异常。

为什么不能用 redis-server 停止?

redis-server 是 Redis 的启动程序,其核心功能是 "加载配置、启动服务进程",而非管理进程生命周期。若使用 ./redis-server shutdown 会报错,因为 redis-server 会把 shutdown 当成配置文件路径,而非停止指令。

启动客户端

进入Redis安装目录的 src 目录,redis-cli 连接已运行的 Redis 服务,启动客户端程序

bash 复制代码
./redis-cli

如果 Redis 服务运行在非 6379 端口,需加 -p 参数指定端口

PING 是 Redis 的 "心跳检测" 命令,核心作用是验证客户端和 Redis 服务端的连接是否通畅

启动多个redis进程

第一种方式:创建多个 redis 实例,分别启动各个 redis 实例。

安装新的 redis 实例后,修改新 redis 实例配置文件的端口号,避免端口冲突,启动时指定端口可在一台服务器启动多个redis进程

bash 复制代码
./redis-server ./redis.conf --port 6380

每个终端启动一个 redis-cli,可连接同一个或不同的 Redis 实例

另一种方式:同一台服务器上只有一套 Redis 安装程序,通过多个独立的配置文件,启动多个独立的 Redis 进程。

/usr/local/src/redis 下创建 conf 目录,用于存放所有的 conf 配置文件:

bash 复制代码
mkdir conf

基于原 redis.conf 复制配置文件,一份配置文件对应一个 Redis 节点:

bash 复制代码
cp ../redis-5.0.4/redis.conf redis_6379.conf
cp ../redis-5.0.4/redis.conf redis_6380.conf

修改各个配置文件内的端口号和 dbfilenam 快照文件名称,再启动各个 redis 进程

bash 复制代码
../redis-5.0.4/src/redis-server ./redis_6379.conf
../redis-5.0.4/src/redis-server ./redis_6380.conf

指定端口号停止 redis 进程

bash 复制代码
../redis-5.0.4/src/redis-cli -p 26380 shutdown

数据库操作

单个 Redis 实例默认划分16 个逻辑数据库,下标从0到15(这是 Redis 的默认配置,可修改但不推荐);

客户端连接 Redis 后,默认使用 0 号数据库,所有命令都作用于当前数据库;

redis 不支持修改数据库的名称,可通过 SELECT 命令切换到指定数据库,切换后所有操作仅对该数据库生效。

每个数据库的键是独立的,相同的键名在不同数据库中互不影响

清空库操作:

FLUSHDB 仅作用于当前数据库,只清空你当前选中的数据库,其他库数据完全保留;

FLUSHALL 作用于整个 Redis 实例清空,0-15 号所有数据库的所有数据。

FLUSHDB:

FLUSHALL:

相关推荐
安科士andxe16 小时前
深入解析|安科士1.25G CWDM SFP光模块核心技术,破解中长距离传输痛点
服务器·网络·5g
2601_9491465320 小时前
Shell语音通知接口使用指南:运维自动化中的语音告警集成方案
运维·自动化
儒雅的晴天20 小时前
大模型幻觉问题
运维·服务器
Gofarlic_OMS21 小时前
科学计算领域MATLAB许可证管理工具对比推荐
运维·开发语言·算法·matlab·自动化
通信大师21 小时前
深度解析PCC策略计费控制:核心网产品与应用价值
运维·服务器·网络·5g
dixiuapp21 小时前
智能工单系统如何选,实现自动化与预测性维护
运维·自动化
Elastic 中国社区官方博客21 小时前
如何防御你的 RAG 系统免受上下文投毒攻击
大数据·运维·人工智能·elasticsearch·搜索引擎·ai·全文检索
小锋学长生活大爆炸21 小时前
【教程】免Root在Termux上安装Docker
运维·docker·容器
进击切图仔21 小时前
常用 Docker 命令备份
运维·docker·容器
NotStrandedYet1 天前
《国产系统运维笔记》第8期:挑战国产化流媒体部署——银河麒麟+龙芯架构编译SRS实战全记录
运维·kylin·国产化·银河麒麟·龙芯·信创运维·srs编译安装