CentOS系统安装Redis及Redis的PHP扩展详解
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服务,输入如下命令后回车。
./class="lazy" data-src/redis-server redis.conf &
1.4 检测
#检测后台进程是否存在
ps -ef |grep redis
#检测6379端口是否在监听
netstat -lntp | grep 6379
#使用`redis-cli`客户端检测连接是否正常
./class="lazy" data-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 停止服务
#使用客户端
./class="lazy" data-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,显示如下,代表安装成功:
3、PHP代码测试
<?php
$redis = new Redis();
$redis->connect('127.0.0.1', 6379);
$redis->set('name','zhou', 10);
$key_1 = $redis->get('name');
echo $key_1;
?>
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流。
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341