PHP实战

centos7 Redis安装,以及php-redis扩展

2019-01-14  本文已影响34人  Boston199834

我们先了解几个概念,什么是redis,phpredis

redis:全称REmote DIctionary Server(Redis),是一个开源的使用ANSI C语言编写、遵守BSD协议、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API

phpredis:phpredis 是使用c写的php扩展,phpredis在扩展中使用c可以保持php-fpm到redis的长连接,所以一个php-fpm进程上的多个请求是复用同一个连接的。phpredis的pconnect就是长连接方式

因此在使用需要先安装Redis,再给PHP安装php-redis扩展

1:安装Redis

1.1 在 redis版本查看 页面查看redis版本,下载到/usr/local/src,或者直接在/usr/local新建一个redis文件夹下载到redis文件夹,这里下载的是3.2.0版本

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

wget:wget是一个下载文件的工具,安装wget

yum install wget

redis下载存放目录

1.2:解压tar.gz包,并进入解压目录进行编译。编译成功后会在redis-3.2.0目录下生成相关文件

附:Linux下的tar压缩解压缩命令详解

 tar -xzvf redis-3.2.0.tar.gz   

cd redis-3.2.0

 make

如果make 后提示没有gcc,那么就安装gcc编译器套件

yum install gcc gcc-c++ kernel-devel

1.3 启动redis服务,pwd 显示当前文件夹位置为/usr/local/src/redis-3.2.0, 进入src目录,找到redis-server,敲入如下命名并回车

./redis-server ../redis.conf &

redis-server和redis.conf位置。

注:&符号是强制后台运行,同时需要修改修改redis.conf 修改 daemonize 未yes。如果不加的话需要保持启动redis服务的窗口,用redis-cli连接的时候需要另开一个窗口

1.4检测是否安装成功

#检测后台进程是否存在

ps -ef |grep redis

#检测6379端口是否在监听

netstat -lntp | grep6379

#使用`redis-cli`客户端检测连接是否正常

./redis-cli

1.5相关命令

redis info : 返回redis服务器的相关信息和统计数值

redis -v :返回安装的redis版本

./redis-cli shutdown : 正常停止redis-server服务,使用redis客户端命令 redis-cli shutdown,

或者直接杀死进程:kill -9 PID

redis-server停止服务

2:安装PHP的redis扩展phpredis

2.1:安装phpize (phpize是用来扩展php扩展模块的,通过phpize可以建立php的外挂模块)

yum install php-devel     ----->一般在安装环境的时候就行安装

2.2:下载php-redis

wget https://github.com/nicolasff/phpredis/archive/master.zip 

2.3:解压master.zip ,使用unzip

unzip master.zip  

2.4 解压目录为phpredis-master,cd phpredis-master进入该目录,开始编译php扩展

phpize

2.5 :进行安装软件的配置,检查当前的环境是否满足要安装软件的依赖关系

./configure 

2.6: 编译 并且安装

make && make install

编译完成后扩展位置

2.7:关键一步,修改php.ini文件,加入extension=rediso.so,如果不知道自己的php.ini文件在哪,可以使用 whereis php.ini 进行查找或者查看 phpinfo

2.8:重启web服务器

systemctl restart nginx  是在不行就再重启下php-fpm  systemctl restart php-fpm

查看phpinfo可以看到,表示php-redis扩展已经安装成功

phpinfo信息

到这里整个环境已经安装完了,我们可以开开心心的去测试了,贴上我的测试代码

<?php

$redis = new Redis();

$redis->connect('127.0.0.1', 6379);

$redis->set('name','zhou', 10);

$key_1 = $redis->get('name');

echo $key_1;

?>

上一篇下一篇

猜你喜欢

热点阅读