站长资源数据库

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

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

redis简介

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

1、安装Redis

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

yum install wget 

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

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

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

$ tar xzf redis-3.2.0.tar.gz
$ cd redis-3.2.0
$ make

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

yum install gcc gcc-c++ kernel-devel 

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

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

make MALLOC=libc

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

./src/redis-server redis.conf &

1.4 检测

#检测后台进程是否存在
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 停止服务

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

2、安装Redis的PHP扩展

2.1 安装phpize

yum install php-devel 

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

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

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

yum install unzip 

2.4 解压master.zip

unzip master.zip

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

phpize

2.6 配置环境

./configure 

 2.7 编译

make && make install 

编译完成后显示:

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,添加下面的扩展

extension=redis.so 

2.9 重启服务器

service httpd restart

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

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

3、PHP代码测试

<"color: #ff0000">总结

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