CentOS系统安装Redis及Redis的PHP扩展详解

时间:2021-09-10 09:26:43

redis简介

redis是一款很不错的高性能的key-value数据库,它的出现在很大程度上弥补了很多像memcached这类的keyvalue存储的不足,它的特点有:支持持久化、半持久化数据保存、支持主从同步、value值支持多种类型等等。下面来一起看看在CentOS系统安装Redis及Redis的PHP扩展的详细介绍。

1、安装Redis

1.1 如果没有安装wget,安装wget

?
1
yum install wget

1.2 在http://redis.io/download页面查看redis版本,并下载安装

?
1
wget http://download.redis.io/releases/redis-3.2.0.tar.gz

1.3 解压,并进入解压目录进行编译。编译成功后会在redis-3.2.0目录下生成相关文件

?
1
2
3
$ tar xzf redis-3.2.0.tar.gz
$ cd redis-3.2.0
$ make

如果make时没有发现gcc,那么安装gcc

?
1
yum install gcc gcc-c++ kernel-devel

再次make,如果出现如下错误

?
1
2
zmalloc.h:50:31: error: jemalloc/jemalloc.h: No such file or directory
zmalloc.h:55:2: error: #error "Newer version of jemalloc required"

则使用如下命令进行make

?
1
make MALLOC=libc

1.4 在文件夹redis-3.2.0下启动redis服务,输入如下命令后回车。

?
1
./src/redis-server redis.conf &

1.4 检测

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#检测后台进程是否存在
ps -ef |grep redis
 
#检测6379端口是否在监听
netstat -lntp | grep 6379
 
#使用`redis-cli`客户端检测连接是否正常
./src/redis-cli
127.0.0.1:6379> keys *
(empty list or set)
127.0.0.1:6379> set key "hello world"
OK
127.0.0.1:6379> get key
"hello world"

1.5 停止服务

?
1
2
3
4
#使用客户端
./src/redis-cli shutdown
#因为Redis可以妥善处理SIGTERM信号,所以直接kill -9也是可以的
kill -9 PID

2、安装Redis的PHP扩展

2.1 安装phpize

?
1
yum install php-devel

2.2 下载扩展源码包,直接用wget

?
1
2
#wget下载github上的文件
wget https://github.com/nicolasff/phpredis/archive/master.zip

2.3 如果没装unzip,需要先安装unzip

?
1
yum install unzip

2.4 解压master.zip

?
1
unzip master.zip

2.5 解压目录为phpredis-master,进入该文件夹,开始编译php扩展

?
1
phpize

2.6 配置环境

?
1
./configure

 2.7 编译

?
1
make && make install

编译完成后显示:

?
1
2
3
Build complete.
Don't forget to run 'make test'.
Installing shared extensions:  /usr/lib64/php/modules/

进入/usr/lib64/php/modules/文件夹,发现redis.so的扩展

2.8 修改/etc/php.ini,添加下面的扩展

?
1
extension=redis.so

2.9 重启服务器

?
1
service httpd restart

最后查看phpinfo,显示如下,代表安装成功:

CentOS系统安装Redis及Redis的PHP扩展详解

3、PHP代码测试

?
1
2
3
4
5
6
7
<?php
$redis = new Redis();
$redis->connect('127.0.0.1', 6379);
$redis->set('name','zhou', 10);
$key_1 = $redis->get('name');
echo $key_1;
?>

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流。