Redis运维管理
Redis运维管理
Redis简介
Redis是一个开源的内存数据结构存储系统,用作数据库、缓存和消息代理。
安装Redis
# Ubuntu/Debian
sudo apt-get install redis-server
# CentOS/RHEL
sudo yum install redis
# Docker
docker run -d --name redis \
-p 6379:6379 \
-v redis_data:/data \
redis:alpine redis-server --appendonly yes
基本操作
# 连接Redis
redis-cli
# 基本命令
SET key value
GET key
DEL key
EXISTS key
EXPIRE key 3600
TTL key
# 数据类型
HSET user:1 name "John" age 30
HGET user:1 name
LPUSH queue item1
RPUSH queue item2
LPOP queue
SADD tags tag1 tag2
SMEMBERS tags
配置优化
# /etc/redis/redis.conf
# 绑定地址
bind 127.0.0.1
# 保护模式
protected-mode yes
# 端口
port 6379
# 后台运行
daemonize yes
# 日志文件
logfile /var/log/redis/redis-server.log
# 数据目录
dir /var/lib/redis
# 数据库数量
databases 16
# 最大内存
maxmemory 1gb
maxmemory-policy allkeys-lru
# 持久化
appendonly yes
appendfsync everysec
持久化
RDB快照
# 自动保存
save 900 1 # 900秒内至少1次修改
save 300 10 # 300秒内至少10次修改
save 60 10000 # 60秒内至少10000次修改
# 手动触发
BGSAVE
SAVE
AOF日志
# 启用AOF
appendonly yes
# 同步策略
appendfsync always # 每次写入
appendfsync everysec # 每秒(推荐)
appendfsync no # 操作系统决定
高可用
主从复制
# 从节点配置
replicaof 192.168.1.100 6379
masterauth your-password
Redis Sentinel
# sentinel.conf
port 26379
sentinel monitor mymaster 192.168.1.100 6379 2
sentinel down-after-milliseconds mymaster 5000
sentinel failover-timeout mymaster 60000
Redis Cluster
# 创建集群
redis-cli --cluster create \
192.168.1.101:6379 \
192.168.1.102:6379 \
192.168.1.103:6379 \
192.168.1.104:6379 \
192.168.1.105:6379 \
192.168.1.106:6379 \
--cluster-replicas 1
# 查看集群状态
redis-cli cluster info
redis-cli cluster nodes
监控
# 查看信息
INFO
INFO memory
INFO stats
INFO clients
# 查看慢查询
SLOWLOG GET 10
SLOWLOG LEN
SLOWLOG RESET
# 监控命令
MONITOR
实践:Redis缓存配置
# docker-compose.yml
version: '3.8'
services:
redis:
image: redis:alpine
ports:
- "6379:6379"
volumes:
- redis_data:/data
command: redis-server --appendonly yes --maxmemory 1gb --maxmemory-policy allkeys-lru
redis-commander:
image: rediscommander/redis-commander
ports:
- "8081:8081"
environment:
- REDIS_HOSTS=local:redis:6379
volumes:
redis_data:
总结
Redis是高性能缓存和数据存储的首选。掌握Redis的配置、持久化和高可用方案,可以构建高性能的应用架构。