1.3 云服务器安装和使用Redis

目录

[1.3 云服务器安装和使用Redis](#1.3 云服务器安装和使用Redis)

[1.3.1 安装](#1.3.1 安装)

[1.3.2 启动](#1.3.2 启动)

[1.3.2.1 前段模式启动](#1.3.2.1 前段模式启动)

[1.3.2.2 后端模式运行](#1.3.2.2 后端模式运行)

[1.3.2.3 可视化工具连接](#1.3.2.3 可视化工具连接)

[1.3.2.4 启动多个Redis进程](#1.3.2.4 启动多个Redis进程)

方法1:

方法2(推荐此方法):

[1.3.3 停止](#1.3.3 停止)


1.3 云服务器安装和使用Redis

1.3.1 安装

  1. 下载安装包
    去官网下载自己想要的版本 https://download.redis.io/releases/。

  2. 安装编译依赖
    Redis 是 C 语言开发的,编译安装前需要先安装 gcc 等编译工具,否则后续会编译失败。

    CentOS 系统安装编译依赖
    yum install -y gcc gcc-c++ make wget

3.上传安装包到服务器

4.解压安装包

复制代码
#解压到当前目录,生成 redis-5.0.14 文件夹
#那个目录运行就解压到那个目录里
tar -zxvf redis-5.0.14.tar.gz

5.编译Redis源码

进入解压后的Redis目录

复制代码
cd redis-5.0.14

进行编译

复制代码
make

出现LINK这些内容就是安装成功。

6.安装

安装到指定目录,如 /usr/local/redis。如果不加PREFIX,那么就会安装到/usr/local/bin(系统默认的 PATH 路径,有些软件默认就是安装到这里,如果不指定,就会非常混乱)

复制代码
make PREFIX=/usr/local/redis install

在解压后的Redis执行这个命令

7.复制配置文件到安装目录下

redis.conf是redis的配置文件,redis.conf在redis源码目录。

复制代码
#1. 创建 conf/data/log 目录(用于放配置、数据、日志)
mkdir -p /usr/local/redis/{conf,data,log}
#2. 拷贝配置文件到 conf 目录
cp /usr/local/src/redis/redis-5.0.14/redis.conf /usr/local/redis/conf/

安装目录bin下的文件列表

Redis3.0新增的redis-sentinel是redis集群管理工具可实现高可用。

8.设置密码

想设就设,不设危险。修改安装目录下的配置文件。

在 redis.conf 中找到这一行:

复制代码
requirepass foobared

取消注释并设置一个强密码,比如:

复制代码
requirepass your_strong_password

重新启动Redis即可

复制代码
#先停止当前运行的 Redis
redis-cli shutdown
#在启动即可

9.设置Redis可远程访问

3.0及更早的版本默认允许,4.0后的版本需要手动设置。

修改安装目录下的配置文件

取消注释上面的内容,修改为

1.3.2 启动

Redis默认端口号是6379,如果是阿里云云服务器需要在阿里云开放对应端口。

如果想要修改端口号,就在修改配置文件里面的内容。

1.3.2.1 前段模式启动

修改配置文件,改为daemonize no,以前端模式启动。

进入bin目录运行

复制代码
./redis-server

使用这种方法运行,不会加载任何自定义配置文件,只会使用 Redis 内置的「默认配置」(这些默认配置是编译时固化在程序里的,不是某个物理文件)。

如果要指定配置文件

就进入上一级目录,Redis目录。运行。

复制代码
cd /usr/local/redis
./bin/redis-server ./conf/redis.conf
1.3.2.2 后端模式运行

修改配置文件,改为daemonize yes,以后端模式启动。

当yes时,指定Redis用作守护进程;即不占用控制台

当no时,指定 redis用作非守护进程;即占用控制台

复制代码
cd /usr/local/redis
./bin/redis-server ./conf/redis.conf

查 "包含 redis 字符串" 的进程(Redis默认使用6379端口)

1.3.2.3 可视化工具连接

可视化工具连接

1.3.2.4 启动多个Redis进程

启动多个redis进程意义:一个redis代表一个redis服务(服务器)。

方法1:

启动时指定端口可在一台服务器启动多个redis进程。

复制代码
cd /usr/local/redis
./bin/redis-server ./conf/redis.conf --port 6380
方法2(推荐此方法):

将现有的redis的安装目录拷贝到一个新的目录下。

复制代码
 cp -R redis6377 redis

修改每个Redis的配置文件,把端口号改成不同的端口号。

分别启动每个Redis目录下的redis-server程序。

查询当前redis的进程:

1.3.3 停止

强行终止 Redis 进程会导致持久化数据丢失,必须通过发送SHUTDOWN命令来正确停止。

复制代码
./bin/redis-cli -p 端口号 -a 密码 shutdown save
  1. Redis无密码

    cd /usr/local/redis
    #执行停止命令,默认停止6379端口的Redis
    ./bin/redis-cli shutdown save
    #如果要停止非默认端口的Redis,需要在命令中指定端口
    ./bin/redis-cli -p 6377 shutdown save

  • shutdown:发送停止指令
  • save:停止前将所有数据持久化保存,避免丢失
  1. Redis有密码
    如果直接使用上面的方法,就会出错。

    (error) NOAUTH Authentication required. 表述:你的 Redis 服务开启了密码验证,而你执行 shutdown save 时没有先登录验证身份,所以被拒绝执行停止操作。
    解决办法有三种。
  • 第一种:在输入命令的时候加上密码(不安全)

    ./bin/redis-cli -a 密码 shutdown save

-a 是 redis-cli 的参数,用来指定连接时的认证密码。
但是这个方法不安全,系统的命令历史记录(比如 history 命令)会把完整的命令保存下来,你的密码会被明文记录。

  • 第二种:用环境变量临时传密码(适合脚本)
    把密码临时存在环境变量里,命令行看不到明文:

    #1. 临时设置环境变量(仅当前终端有效)
    export REDISCLI_AUTH=LSL03699
    #2. 直接执行停止命令,会自动用环境变量里的密码认证
    ./bin/redis-cli shutdown save # 6377端口就加 -p 6377

export 只是把密码临时存在内存里,命令历史(history)里只会看到 export REDISCLI_AUTH=xxxx,看不到真实密码,也不会被 ps 命令查到;

  • 第三种:交互式输入(最推荐,无泄露风险)

    #1. 只连接客户端,不输密码
    ./bin/redis-cli # 如果是6377端口就加 -p 6377,不加默认就是6379
    #2. 连接后再输密码(输入时不会显示明文)
    auth LSL03699
    #3. 执行停止命令
    shutdown save

相关推荐
hey you~17 分钟前
云呼叫中心坐席自动分配实战:ACD 策略、Redis+Lua 实现与排查清单
数据库·redis·lua·云呼叫中心·acd·坐席分配·坐席状态机
夜雪一千27 分钟前
MySQL 数据字典如何获得
数据库·mysql
系统集成-鹰翔32 分钟前
ERP推单数据库怎么备份:SQLite WAL模式下只复制db文件为什么可能漏任务
javascript·数据库·经验分享·后端
QianhangQianping33 分钟前
撤销重做不是「存快照」:一个可视化编辑器的Operation 设计
java·前端·数据库·typescript·编辑器·前端架构·撤销重做
honsor34 分钟前
用 Grafana 做温湿度异常检测:从阈值告警到趋势预测
数据库·mysql·php
赵渝强老师1 小时前
【赵渝强老师】YashanDB Developer Center(YDC,崖山数据库开发者中心)
数据库·国产数据库·yashandb·崖山数据库
lusklusklusk1 小时前
SQL Server 为什么普通 SELECT 会阻塞 UPDATE?——行级 S 锁到表级 S 锁的锁升级原理与实验验证
数据库·mysql·oracle
Leo.yuan1 小时前
企业业务人员如何独立完成数据分析?2026年自助BI工具选型与应用指南
大数据·数据库·人工智能
roman_日积跬步-终至千里1 小时前
数仓开发的三层责任:业务定义、模型设计与 SQL 实现
数据库·数据仓库·sql·数据建模
瀚高PG实验室1 小时前
瀚高数据库创建新数据库卡住问题排查
数据库·postgresql·瀚高数据库