Redis作为一种高效的nosql数据库,常常被用作为缓存,本篇就讲一下关于Redis的安装配置,以及怎么应用到PHP项目当中。

安装并配置Redis

  • 下载官网最新且稳定的redis版本

    1
    2
    3
    4
    wget http://download.redis.io/releases/redis-4.0.0.tar.gz # 此处安装的是redis4.0
    tar xzf redis-4.0.0.tar.gz # 解压下载完的压缩包
    cd redis-4.0.0
    make # 编译安装

    编译安装完之后,redis目录里会生成/src目录

  • 下面是几个重要的文件路径

    redis配置文件 /path/to/redis-xxx/redis.conf
    redis服务端 /path/to/redis-xxx/src/redis-server
    redis客户端 /path/to/redis-xxx/src/redis-cli

  • 配置redis服务器守护进程

    有时我们通过shell开启了redis-server之后,如果不把他放进守护进程就会一直占用我们的shell,因此需要把redis的服务端进程放进守护进程

1
vi /path/to/redis-xxx/redis.conf

通过vi的/daemonize,找到守护进程的配置,把yes改为no保存退出即可.

下次开启redis-server时需要

1
./redis-server ./../redis.conf # 即参数为配置文件的路径
  • 也可以编写shell脚本redis-server,不用输入配置文件路径,随便找个地方放,不要放到src就行,具体如下
1
2
#!/bin/bash
`/path/to/redis-xxx/src/redis-server /path/to/redis-xxx/redis.conf`

然后加上执行权限

1
sudo chmod +x redis-server # 此处的redis-server为刚刚编写的脚本

为了方便shell里直接启动,把软连接放到/usr/local/bin里

1
2
ln -s /path/to/your-script/redis-server /usr/local/bin # 刚写的脚本路径
ln -s /path/to/redis-xxx/src/redis-cli /usr/local/bin # 实际客户端的路径

这样即可在shell里开启带有守护的redis-server了,而不用输入配置文件路径参数,如下:

1
redis-server

把Redis应用到PHP中

PHP连接redis有两种途径,一种是用phpredis拓展,由c编写的php拓展,因此处理效率较高,不过不支持PHP5.2以下的版本。第二种是用predis,是一个php包,可以理解为PHP应用来连接redis,效率没有phpredis不过适应高,容易部署。由于我在踩phpredis的坑时中招了,下面就用predis吧,毕竟简单易用。

我采用composer安装方式,在composer.json里附上

1
2
3
4
5
{
"require": {
"predis/predis": "~1.1@dev"
}
}

然后就可以用predis连接redis进行各种操作了,具体函数跟redis原生指令相差不大,在这就不多赘述

可以安装phpredisadmin管理你的redis,开发环境可以用,生产的话还是算了吧