Redis是一个key-value存储系统,属于我们常说的NoSQL。它遵守BSD协议、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。它常用在缓存、队列、Pub/Sub、计数统计、排行榜、投票与排序等场景。

本文介绍如何在CentOS7上安装redis,以及让PHP支持redis的php-redis扩展库。

安装Redis

Redis官方下载地址:http://redis.io/download,下载最新稳定版本。

当前稳定版本是4.0.9,下载并安装:

 $ wget http://download.redis.io/releases/redis-4.0.9.tar.gz
$ tar -zxvf redis-4.0..tar.gz
$ mv redis-4.0. /usr/local/redis
$ cd /usr/local/redis
$ make
$ make install

make完后,在redis-4.0.9目录下会出现编译后的redis服务程序redis-server,还有用于测试的客户端程序redis-cli,两个程序位于安装目录 src 目录下:

启动redis服务

 $ cd src
$ ./redis-server

注意这种方式启动redis 使用的是默认配置。也可以通过启动参数告诉redis使用指定配置文件使用下面命令启动

 $ cd src
$ ./redis-server redis.conf

redis.conf是一个默认的配置文件。我们可以根据需要使用自己的配置文件。 启动redis服务进程后,就可以使用测试客户端程序redis-cli和redis服务交互了。 比如:

 [root@localhost src]$ ./redis-cli
127.0.0.1:> ping
PONG

注意:这里如果出错我门修改下redis.conf

 $ vim /usr/local/redis/redis.conf
 daemonize no
改为
daemonize yes

接下来设置密码和后台运行方式。

 $ vim /usr/local/redis/redis.conf

requirepass foobared
改为
requirepass #你的密码

配置redis服务管理脚本

 $ cp /usr/local/redis/utils/redis_init_script /etc/init.d/redis

修改redis

 vim /etc/init.d/redis
修改
CONF="/usr/local/redis/redis.conf"

启动redis服务

$ /etc/init.d/redis start
Starting Redis server...
:C May ::34.030 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
:C May ::34.030 # Redis version=4.0., bits=, commit=, modified=, pid=, just started
:C May ::34.031 # Configuration loaded

这个时候你就可以看到redis服务以及起来,默认占用6739端口。

安装PHP redis扩展

开始在 PHP 中使用 Redis 前,我们需要确保已经安装了redis服务,且你的机器上能正常使用PHP。 接下来让我们安装 PHP redis 驱动,下载地址为:https://github.com/phpredis/phpredis/releases。

下载并安装最新版

 $ wget https://github.com/phpredis/phpredis/archive/4.0.2.tar.gz
$ tar -zxvf 4.0..tar.gz
$ cd phpredis-4.0.
$ /usr/local/php/bin/phpize # php安装后的路径
$ ./configure --with-php-config=/usr/local/php/bin/php-config
$ make && make install

将redis.so添加到php.ini中

 $ echo 'extension=redis.so' >> /usr/local/php/etc/php.ini

重启php-fpm服务

 $ /etc/init.d/php-fpm restart

查看redis扩展是否安装成功

 $ php -m | grep redis
redis

测试

 <?php
//连接本地的 Redis 服务
$redis = new Redis();
$redis->connect('127.0.0.1', );
$redis->auth('');
echo "Connection to server sucessfully";
//查看服务是否运行
echo "Server is running: " . $redis->ping();

当前,我系统安装的PHP版本是7.0,实验证明PHP7.0已经支持Redis了。

如果执行phpize时报错: Cannot find autoconf. Please check your autoconf installation and the $PHP_AUTOCONF environment variable. Then, rerun this script.

解决方法:

安装依赖 autoconf

 $ yum -y install autoconf

Linux部署Redis及PHP-redis扩展的更多相关文章

  1. Linux下Redis安装与PHP扩展(PHP7适用)

    一,软件准备 #redis wget http://download.redis.io/releases/redis-3.0.7.tar.gz #phpredis 非php7使用 下载后文件名为:ph ...

  2. linux 下安装redis以及php Redis扩展

    [php] view plaincopy在CODE上查看代码片派生到我的代码片 linux 下安装redis以及php Redis扩展 环境配置: centos6. nginx/ php/ mysql ...

  3. Linux安装redis PHP安装Redis扩展 and基本命令

    一.安装redis 用超级管理员身份运行: $ mkdir /usr/local/redis #redis安装目录 $ cd /usr/local/src #安装包下载目录 $ wget http:/ ...

  4. Linux部署Redis服务器

    一,Redis介绍 Redis如今已经成为Web开发社区最火热的内存数据库之一,随着Web2.0的快速发展,再加上半结构数据比重加大,网站对高效性能的需求也越来越多. 而且大型网站一般都有几百台或者更 ...

  5. Linux 部署redis集群

    下载Redis 下载网址 http://www.redis.cn/download.html Redis需要gcc环境(如果已经有该环境跳过此步骤) yum install gcc-c++ 安装Red ...

  6. Redis系列之简介和Linux部署教程

    ##Redis介绍##Redis如今已经成为Web开发社区最火热的内存数据库之一,随着Web2.0的快速发展,再加上半结构数据比重加大,网站对高效性能的需求也越来越多.而且大型网站一般都有几百台或者更 ...

  7. Dubbo入门到精通学习笔记(十五):Redis集群的安装(Redis3+CentOS)、Redis集群的高可用测试(含Jedis客户端的使用)、Redis集群的扩展测试

    文章目录 Redis集群的安装(Redis3+CentOS) 参考文档 Redis 集群介绍.特性.规范等(可看提供的参考文档+视频解说) Redis 集群的安装(Redis3.0.3 + CentO ...

  8. NoSQL数据库之Redis数据库:Redis的介绍与安装部署

     NoSQL(NoSQL = Not Only SQL),它指的是非关系型的数据库.随着互联网web2.0网站的兴起,传统的关系数据库在应付web2.0网站,特别是超大规模和高并发的SNS类型的w ...

  9. CentOS7安装redis数据库及php-redis扩展

    redis 首先把redis安装到服务器中 1.wget http://download.redis.io/redis-stable.tar.gz 下载redis源码 2. tar xvzf redi ...

随机推荐

  1. Django admin 设置和定制

    models 在 models.py 中定义,每个 model 是一个 class: from django.db import models class PerformanceData(models ...

  2. MethodChannel 实现flutter 与 原生通信

    Flutter 步骤 目的:在flutter页面中主动调用原生页面中的方法. 1 在widget中,定义MethodChannel变量 static const MethodChannel metho ...

  3. 三十七:数据库之SQLAlchemy外建之多对多关系

    准备工作 from sqlalchemy import create_engine, Column, Integer, String, Float, Text, ForeignKeyfrom sqla ...

  4. 三十二:数据库之SQLAlchemy.query函数可查询的数据和聚合函数

    准备工作 from sqlalchemy import create_engine, Column, Integer, String, Floatfrom sqlalchemy.ext.declara ...

  5. python3.5以后venv创建/激活/退出虚拟环境

    1.创建虚拟环境 $ python3 -m venv <环境名称> 2.激活虚拟环境 $ source <环境名称>/bin/activate 3.关闭虚拟环境 $ deact ...

  6. Oracle中 ORA-12704:字符集不匹配

    前言 在使用Union all连接时,若A集合中某列为nvarchar2或nvarchar类型,而B集合中无此列,用‘ ’ 来代替是会报字符集不匹配 1 select '中国','China',cas ...

  7. Day03:数组 、 继承的意义(上)

    继承 面向对象编程三(四)大特征 (抽象),封装,继承,多态什么是继承? 继承是面向对象编程中一种代码复用的方式为什么需要继承? 减少代码冗余,提高程序的可维护性和可扩展性怎样使用继承? 语法: cl ...

  8. Day01:对象和类(上)

    对象的概念 Java 是面向对象的编程语言,对象就是面向对象程序设计的核心.所谓对象就是真实世界中的实体,对象与实体是一一对应的,也就是说现实世界中每一个实体都是一个对象,它是一种具体的概念.对象有以 ...

  9. P1706 【全排列问题】

    超级无敌大题面~~ 这题倒也花了我不少时间,不停想节省空间,但这也确实是最省的了... 主要思路呢,要注意标记数有没有选过,并标记每个数的输出顺序.. 具体注释见代码: #include<cst ...

  10. python基础语法之字符串

    1 字符串中*的使用 *可以使字符串重复n次 print('hello world ' * 2) # hello world hello world 2 索引获取字符串的字符元素 print('hel ...