Redis 安装配置详解

🧱 一、Redis 简介

Redis(Remote Dictionary Server) 是一个高性能的键值数据库,常用于:

  • 缓存系统(如页面缓存、Session缓存)

  • 消息队列(Pub/Sub)

  • 排行榜、计数器

  • 分布式锁、布隆过滤器等

Redis 支持多种数据类型:

string、list、set、zset(有序集合)、hash、bitmap、hyperloglog、stream


⚙️ 二、Redis 安装方法

方式 1:通过 APT 安装(最简便)

sudo apt update sudo apt install redis-server -y

安装完成后检查版本:

redis-server -v

方式 2:从源码编译安装(推荐生产环境)

# 1. 安装依赖
sudo apt update
sudo apt install build-essential tcl -y

# 2. 下载源码
wget https://download.redis.io/releases/redis-7.2.5.tar.gz
tar xzf redis-7.2.5.tar.gz
cd redis-7.2.5

# 3. 编译
make
make test
sudo make install

安装完成后,Redis 可执行文件通常在:

/usr/local/bin/

包括:

redis-server     # Redis 服务端
redis-cli        # 命令行客户端
redis-benchmark  # 性能测试工具
redis-check-rdb  # RDB 文件检查工具
redis-check-aof  # AOF 文件检查工具

🚀 三、启动 Redis 服务

1. 前台启动

redis-server

2. 后台启动(推荐)

redis-server /etc/redis/redis.conf

或:

redis-server --daemonize yes

3. 测试连接

redis-cli
127.0.0.1:6379> ping
PONG

🧩 四、Redis 配置文件详解

Redis 主配置文件路径:

/etc/redis/redis.conf

或源码安装后:

/usr/local/etc/redis/redis.conf

以下是主要配置项的详细解释:

配置项说明示例值
bind监听地址(默认仅本地)bind 127.0.0.1
port服务端口port 6379
daemonize是否后台运行yes
pidfilePID 文件位置/var/run/redis_6379.pid
logfile日志文件路径/var/log/redis/redis-server.log
databases数据库数量(逻辑分库)databases 16
requirepass访问密码(安全推荐设置)requirepass your_password
timeout空闲连接超时(秒)timeout 300
tcp-keepaliveTCP 保活时间300
maxclients最大客户端连接数10000
maxmemory最大内存使用量maxmemory 512mb
maxmemory-policy内存淘汰策略volatile-lruallkeys-lrunoeviction
saveRDB 快照触发条件save 900 1(900 秒内至少 1 次修改)
dir数据持久化目录/var/lib/redis
appendonly是否启用 AOF 持久化yes
appendfilenameAOF 文件名appendonly.aof
appendfsyncAOF 同步频率everysec(每秒刷盘)
protected-mode保护模式(无密码时禁止远程访问)yes

🧠 五、Redis 持久化机制

Redis 提供两种持久化方式:

1. RDB(快照)

周期性保存内存数据到磁盘的二进制文件(默认是 dump.rdb)。
配置示例:

save 900 1
save 300 10
save 60 10000

优点:节省空间、恢复快。
缺点:可能丢失最近一次快照后的数据。


2. AOF(Append Only File)

每次写操作都会追加到日志文件中。

配置:

appendonly yes
appendfsync everysec

appendfsync 参数:

  • always:每次写入都刷盘(最安全、最慢)

  • everysec:每秒刷盘(默认推荐)

  • no:由操作系统决定何时刷盘(性能最好,但风险大)


🧰 六、Redis 开机自启配置

sudo systemctl enable redis-server
sudo systemctl start redis-server
sudo systemctl status redis-server

如果是源码安装:

sudo cp utils/redis_init_script /etc/init.d/redis
sudo update-rc.d redis defaults

🔐 七、安全配置建议

  1. 设置密码

    requirepass StrongPass123

  2. 限制访问来源

    bind 127.0.0.1 192.168.1.100
    protected-mode yes
    
  3. 关闭命令危险功能

    rename-command FLUSHALL ""
    rename-command FLUSHDB ""
    rename-command CONFIG ""
    rename-command SHUTDOWN ""
    
  4. 使用防火墙规则

    sudo ufw allow 6379/tcp
    sudo ufw deny from any to any port 6379
    

⚡ 八、性能优化建议

优化项建议
内存优化设置 maxmemorymaxmemory-policy
网络优化使用 UNIX socket (unixsocket /tmp/redis.sock)
持久化优化AOF 使用 everysec
禁用 swapvm.swappiness=0
禁用透明大页echo never > /sys/kernel/mm/transparent_hugepage/enabled
使用 RDB 结合 AOF 混合持久化(Redis 4.0+)开启 aof-use-rdb-preamble yes

🧾 九、常见问题

问题原因解决方案
Could not connect to RedisRedis 未启动或端口被防火墙阻止检查 systemctl status redis-server,或用 netstat -tlnp
DENIED Redis is running in protected mode远程访问被保护模式拦截修改配置:protected-mode no 并允许访问 IP
OOM command not allowed内存达到上限,且策略为 noeviction修改 maxmemory-policy
RDB/AOF 文件损坏系统宕机或磁盘错误使用 redis-check-rdbredis-check-aof --fix 修复

🧮 十、验证配置

修改配置后重启服务:

sudo systemctl restart redis-server

验证:

redis-cli
> CONFIG GET dir
> INFO memory
> PING

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值