Redis 是现在最受欢迎的 NoSQL 数据库之一,Redis 是一个使用 ANSI C 编写的开源、包含多种数据结构、支持网络、基于内存、可选持久性的键值对存储数据库.
准备工作
下载安装文件
保险起见使用 memcached 官网下载:https://redis.io/download/
使用官网下载速度较慢,但是安全性有保障,如对安全性没有要求也可百度搜索相关镜像,本文选择官网最新稳定版本 redis 7.0
wget https://github.com/redis/redis/archive/7.0.0.tar.gz  | 
安装与配置
安装
# 直接安装,PREFIX 即指定安装路径  | 
启动
/www/server/redis/bin/redis-server /www/server/redis/etc/redis.conf  | 
/www/server/redis/bin/redis-serverredis 启动文件/www/server/redis/etc/redis.conf指定 redis 配置文件
基础配置
redis 启动时要指定配置文件,下面是各个配置文件的解释:
| 配置项 | 默认值 | 说明 | 
|---|---|---|
| bind | 127.0.0.1 | 绑定地址,如需外网链接需设置为 0.0.0.0 | 
| protected-mode | yes | 开启保护模式 | 
| port | 6379 | 监听的端口 | 
| tcp-backlog | 511 | linux 内核 tcp_max_syn_backlog 和 somaxconn 参数调优 | 
| timeout | 0 | 设置限制多少秒后关闭连接,默认不关闭 | 
| tcp-keepalive | 300 | 开启 TCP 长连接,以防连接被弃用 | 
| daemonize | no | 是否开启守护进程 | 
| supervised | auto | supervised 相关配置 | 
| pidfile | ~ | pid 文件目录,用于记录当前正运行的 pid | 
| loglevel | notice | 指定日志级别,可选 debug、verbose、notice、warning | 
| logfile | “” | 指定 redis 日志文件路径,默认不保存日志 | 
| databases | 16 | 设置数据库的数量,即 DB 数量 | 
| always-show-logo | yes | 是否显示 redis 的 logo | 
持久化
- 开启 RDB 持久化,修改 redis 配置文件,新增或修改 
save,语法如下:save <seconds> <changes>save 900 1: 就是 900 秒有一次更改就做一次 rdb 快照到磁盘
可以注释 save 行或设置save ""来禁用,下面是默认值: 
save 900 1 # 900 秒内有 1 次写入触发  | 
- 失败策略
 
stop-writes-on-bgsave-error yes
默认情况下,如果 rdb 快照功能开启且最后一次的 rdb 快照创建失败时,redis 会拒绝所有写请求,这是一种强硬手段来告知用户持久化功能不正常,否则可能没人会知道当前出了大问题,如果后台保存成功后,redis 会自动允许写请求,而不需特殊操作。不过这种设定在生产环境中似乎并不合理,你可以设置一些监控来发现这些异常,然后禁用此功能,这样 redis 在持久化失败后依然可以处理写请求,以减少对线上项目产生影响
- 其他配置项
 
rdbcompression yes,使用 LZF 算法对 rdb 文件进行压缩,当然也会消耗一些 cpu,可设置为 no 减少 cpu 占用rdbchecksum yes,在 rdb 文件末尾设置一个 CRC64 校验码(循环冗余码),起到了一定的纠错作用,但是也会造成一定量的性能损失,可以关闭此功能以获取最大性能,如果rdb文件校验功能关闭,那么系统读取不到检验码时会自动跳过校验。dbfilename dump.rdb,rdb 文件名dir ./,redis的工作目录 ,aof 文件,rdb 文件还有 redis cluster 模式下的 node.conf 文件均会创建在这个目录下。
php 扩展安装
我们需要使用 php 连接 redis 服务的话,就要安装对应的扩展,一般我们可以选择直接安装 php 扩展,或者使用 composer 安装 predis,本文介绍 php 扩展的安装
pecl 官网:https://pecl.php.net,在右上角输入 redis 并搜索并进入,复制相应的下载链接
安装命令如下:
# 下载  | 
修改 php 安装目录下 etc/php.ini 文件中新增一行 extension=memcached ,如图所示:


