Redis 是一个 key-value 存储系统, 属于我们常说的 NoSQL. 它遵守 BSD 协议, 支持网络, 可基于内存亦可持久化的日志型, Key-Value 数据库, 并提供多种语言的 API. 它常用在缓存, 队列, Pub/Sub, 计数统计, 排行榜, 投票与排序等场景.
本文介绍如何在 CentOS7 上安装 Redis, 以及让 PHP 支持 Redis 的 PHP-Redis 扩展库.
安装 Redis
Redis 官方下载地址: http://redis.io/download, 下载最新稳定版本.
当前稳定版本是 4.0.9, 下载并安装:
- $ wget http://download.redis.io/releases/redis-4.0.9.tar.gz
- $ tar -zxvf Redis-4.0.9.tar.gz
- $ mv Redis-4.0.9 /usr/local/Redis
- $ cd /usr/local/Redis
- $ make
- $ make install
make 完后, 在 Redis-4.0.9 目录下会出现编译后的 Redis 服务程序 Redis-server, 还有用于测试的客户端程序 Redis-cli, 两个程序位于安装目录 src 目录下:
启动 Redis 服务
- $ cd src
- $ ./Redis-server
注意这种方式启动 Redis 使用的是默认配置. 也可以通过启动参数告诉 Redis 使用指定配置文件使用下面命令启动
- $ cd src
- $ ./Redis-server Redis.conf
Redis.conf 是一个默认的配置文件. 我们可以根据需要使用自己的配置文件. 启动 Redis 服务进程后, 就可以使用测试客户端程序 Redis-cli 和 Redis 服务交互了. 比如:
- [root@localhost src]$ ./Redis-cli
- 127.0.0.1:6379> ping
- PONG
注意: 这里如果出错我门修改下 Redis.conf
- 1 $ VIM /usr/local/Redis/Redis.conf
- daemonize no
改为
daemonize yes
接下来设置密码和后台运行方式.
$ VIM /usr/local/Redis/Redis.conf
将
requirepass foobared
改为
requirepass 123321 #你的密码
配置 Redis 服务管理脚本
1 $ cp /usr/local/Redis/utils/redis_init_script /etc/init.d/Redis
修改 Redis
1 VIM /etc/init.d/Redis
3 修改
4 CONF="/usr/local/redis/redis.conf"
启动 Redis 服务
- $ /etc/init.d/Redis start
- Starting Redis server...
- 12797:C 30 May 22:53:34.030 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
- 12797:C 30 May 22:53:34.030 # Redis version=4.0.9, bits=64, commit=00000000, modified=0, pid=12797, just started
- 12797:C 30 May 22:53:34.031 # Configuration loaded
这个时候你就可以看到 Redis 服务以及起来, 默认占用 6739 端口.
安装 PHP Redis 扩展
开始在 PHP 中使用 Redis 前, 我们需要确保已经安装了 Redis 服务, 且你的机器上能正常使用 PHP. 接下来让我们安装 PHP Redis 驱动, 下载地址为: https://github.com/phpredis/phpredis/releases.
下载并安装最新版
- $ wget https://github.com/phpredis/phpredis/archive/4.0.2.tar.gz
- $ tar -zxvf 4.0.2.tar.gz
- $ cd phpredis-4.0.2
- $ /usr/local/PHP/bin/phpize # PHP 安装后的路径
- $ ./configure --with-PHP-config=/usr/local/PHP/bin/PHP-config
- $ make && make install
将 Redis.so 添加到 PHP.INI 中
1 $ echo 'extension=redis.so'>> /usr/local/PHP/etc/PHP.INI
重启 PHP-fpm 服务
1 $ /etc/init.d/PHP-fpm restart
查看 Redis 扩展是否安装成功
- $ PHP -m | grep Redis
- Redis
测试
- <?PHP
- // 连接本地的 Redis 服务
- $Redis = new Redis();
- $Redis->connect('127.0.0.1', 6379);
- $Redis->auth('123456');
- echo "Connection to server sucessfully";
- // 查看服务是否运行
- echo "Server is running:" . $Redis->ping();
当前, 我系统安装的 PHP 版本是 7.0, 实验证明 php7.0 已经支持 Redis 了.
如果执行 phpize 时报错: Cannot find autoconf. Please check your autoconf installation and the $PHP_AUTOCONF environment variable. Then, rerun this script.
解决方法:
安装依赖 autoconf
1 $ yum -y install autoconf
来源: https://www.cnblogs.com/eeds-wangwei/p/11016160.html