avatar

Wz Blog

运维学习・持续更新

  • 首页
  • 文章
  • 登录/注册
  • 管理后台
主页 Redis
文章

Redis

发表于 2026-10-11 更新于 2026-10- 11
作者 Administrator
9~12 分钟 阅读

• Redis的单机安装和部署

1.yum install -y gcc

2.下载源码:


wget https://github.com/redis/redis/archive/refs/tags/6.2.14.tar.gz

3.解压缩:


tar -xvzf

4.编译:

radis目录下:make -j $(nproc)

5.安装:

make install

• Redis的启动:

▪ 前台启动:

redis-server

▪ 后台启动:

redis-server /etc/redis.conf

• Redis连接:redis-cli

• 默认端口:6379

**▶ Redis数据库的操作**

• 全局性操作:

▪ 查看所有的key值:

keys *

▪ 切换库:

select 共有16个库(0~15)

▪ 删除当前库所有数据:

flushdb

▪ 删除所有库所有数据:

flushall

• 字符串操作

▪ 增

单个增加:

set k1 value1

单个增加不覆盖:

setnx k1 new_value1

多个增加覆盖:

mset k2 value2 k3 value3

增加的时候配置key的有效期(单位是秒):

setex name 10 mike

设置新值的同时获得旧值:

getset name mike

▪ 删

del k5

获取值的同时删除:

getdel key

▪ 改

覆盖原来的值:

set k1 new_value

多个修改

mset

设置区间的值:

setrange name 4 wang #在第四个字符后追加wang

追加:

append name haha

▪ 查

单个查询:

get k1

多个查询

mget k1 k2 k3

获取key的过期时间

ttl name

查看字符串的长度

strlen name

字符串截取

set k2 bbwangwu

getrange k2 2 5

结果:wang

**▶ Redis配置文件详解**

• bind 127.0.0.1 -::1 #这种只能本地连接,要远程连接需要注释掉

• protected-mode yes #保护模式,远程连接要配置为no

• daemonize yes #是否开启后台启动

• requirepass 密码 #开启密码认证

若开启,redis-cli之后需要:auth 密码,进行认证

• tcp-backlog 511 #tcp建立三次握手队列总和(未完成+已完成值)不要过大

• timeout 0 #超时时长,0为永不超时,超时会断开客户端连接

• tcp-keepalive 300 #检查不活跃的链接时长,300s探测一次

• pidfile 地址 #进程id存放位置

• loglevel notice #日志等级

• logfile "" #日志文件位置

**▶ Redis持久化(把数据写入硬盘)**

**• RDB(默认开启)**

redis会创建一个fork子进程,首先把redis中内存的数据同步到临时存放数据区,之后再同步到dump.rdb这个磁盘文件上,实现持久化存储

▪ save 300 100:300秒或者有100个key发生变化,自动开启持久化

▪ dbfilename dump.rdb:默认文件名

▪ dir ./ :存放rdb的路径,某人是服务端程序所在目录,编译安装的话在/usr/local/bin下

**• AOF(默认不开启,两个都开启时,以AOF为准,不会去读取RDB)**

▪ 开启AOF:

appendonly on

▪ 默认文件名,路径跟RDB一样:

appendfilename "文件名"

• 配置AOF时若之前配置了RDB并且数据库中有数据,根据读取规则,不会读取RDB中的数据,感觉就是数据丢失了

解决方法:

1.备份dump.rdb文件

2.检查dump.rdb文件完整性

3.修改配置文件关闭AOF

4.重启redis,查看数据是否都在

5.临时开启appendonly

config set appendonly yes

6.重新生产appendonly日志

bgrewriteaof

7.关闭redis,修改appendonly yes

8.重启redis,查看数据是否恢复

**▶ RDB和AOF的优劣**

**RDB**

优势| 劣势

---|---

适合大规模的数据恢复(rdb单份完整二进制快照文件,当要恢复几十GB的大量数据,只需要把dump.rdb文件放到redis工作目录即可)| fork的时候,内存中的数据被克隆一份,大致2倍的膨胀性需求

更适用于对数据完整性和一致性要求不高的| fork时使用了写时复制拷贝技术,如果数据庞大的话比较消耗性能

节约磁盘空间(RDB是经过压缩的二进制镜像文件)| 因为备份周期的缘故,可能会丢失数据

恢复速度快(直接把二进制快照载入内存)|

**AOF**

优势| 劣势

---|---

备份机制更加稳健(每执行一条写命令,立刻刷盘)| 比起RDB占用更多的磁盘空间(存储一条条原始文本命令,占用空间高)

可读的日志文件,通过操作AOF文件,可以处理误操作(AOF是纯文本格式,人类可读文件,非二进制文件)| 恢复和备份速度更慢(回复时解析每一行命令,一条一条重新执行写命令重建数据)

| 每次读写都同步的话,有一定性能损耗

| 存在个别bug,操作恢复失败

**▶ Redis主从复制**

• 主节点配置:

▪ requirepass 密码 #主节点链接的密码

• 从节点配置:

▪ replicaof 主节点IP 6379 #配置复制主节点信息

▪ masterauth 密码 #配置复制主节点密码,必须跟主节点密码一致

• 查看复制信息:

redis-cli------->info replication

• 反客为主:

replicaof no one #客变为主

**▶ 哨兵模式**

主节点挂了,会自动切换主节点

• 配置文件:/etc/sentinel.conf

sentinel monitor mymaster 主节点IP 6379 1

#1代表有多少个哨兵同意切换新主,只有一个哨兵同意就会切换

一般为:哨兵总数/2+1取整,例如3个哨兵,配置为2

sentinel auth-pass mymaster 密码

#若主配置认证信息,哨兵也需要配置认证信息

• 启动哨兵模式

redis-sentinel /etc/sentinel.conf

**▶ Redis集群**

1.6台服务器,修改配置文件(6台一样):需要配置密码认证

cluster-enabled yes

cluster-config-file nodes.conf

cluster-node-timeout 15000

2.启动服务(6台一起启动):

redis-server /etc/redis.conf

3.在其中的一台设备上启动同步:

redis-cli --cluster create --cluster-replicas 1 ip1:6379 ip2:6379........ip6:6379 -a 密码

4.登录到集群:

redis-cli -c -h 127.0.0.1 -p 6379 -a 密码

-c:启动集群模式登录 -a:登录密码

5.设定单个key:

set k1 123

获取key的槽位是多少:

cluster keyslot k1

获取集群节点信息:

cluster nodes

中间件
笔记 数据库
许可协议:  CC BY 4.0
分享

相关文章

10月 11, 2026

Redis

• Redis的单机安装和部署 1.yum install -y gcc 2.下载源码: wget https://github.com/redis/redis/archive/refs/tags/6.2.14.tar.gz 3.解压缩: tar -xvzf 4.编译: radis目录下:m

10月 11, 2026

MGR三节点高可用集群

一、安装MySQL 二、配置MySQL配置文件/etc/my.cnf • 在每台节点添加MGR配置(唯一的server_id) [mysqld] server_id=130 # n1:130, n2:131, n3:132 log_bin=binlog binlog_format=ROW gtid_

10月 11, 2026

Kafka

▶ 什么是kafka? • kafka(全名Apache Kafka),是一个用来处理消息的系统,就像一个信息中转站或者快递分发中心,负责“收消息、存消息、转消息。 • kafka就是一个高性能的消息队列系统,用来在系统与系统之间传递数据,而且还能保证**不丢、不乱、速度快** 。(面试问题) ▶

下一篇

Shell脚本手动配置阿里云源

上一篇

Prometheus部署yaml文件

最近更新

  • Kubernetes v1.28.2 双Master堆叠etcd + Haproxy/Keepalived 高可用部署 SOP(Docker + cri-dockerd)
  • 名词解释
  • ECS 实例反复冻结 —— 故障根因分析报告
  • 运维六大工作内容
  • 磁盘相关命令

热门标签

监控 Linux 数据库 Docker 笔记 CI/CD Kubernetes Nginx

目录

©2026 Wz Blog. 保留部分权利。

使用 Halo 主题 Chirpy