欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2022-03-24 10:36:41
redis简介 redis是一款很不错的高性能的key-value数据库,它的出现在很大程度上弥补了很多像memcached这类的keyvalue存储的不足,它的特点有:...

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代码测试

<?php
$redis = new redis();
$redis->connect('127.0.0.1', 6379);
$redis->set('name','zhou', 10);
$key_1 = $redis->get('name');
echo $key_1;
?>

总结

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