Redis是一个key-value的存储系统,支持存储的value类型相对较多,包括string(字符串)、list(链表)、sorted set(有序集合)和hash(哈希类型)。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,并且这些操作都是原子性的。在此基础上,redis支持各种不同方式的排序。
为了保证效率,数据都是缓存在内存中。redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并且在此基础上实现了master-slave(主从)同步。
我们使用redis作为高速缓存,存放系统经常需要访问的数据。
开始使用时,我们需要为我们的缓存服务器安装redis(这里以ubuntu为例)。
(1)安装redis服务
$ sudo apt-get install redis-server
安装后,查看redis服务是否启动
$ ps aux | grep redis
如果没有启动,则启动它
$ sudo service redis-server start
(2) 测试是否正常使用
使用以下命令,进入redis命令行
$ redis-cli
之后测试缓存test
> set test "hello word"
再取出,查看是否缓存成功
> get test
如果是windows,那么直接去github上下载编译好的redis包(https://github.com/MSOpenTech/redis/releases/download/win-2.8.19.1/redis-2.8.19.zip),解压放在一个目录上,在该目录上启动redis服务就可以了。
# redis-server.exe redis.conf
测试是否安装成功与上述在ubuntu下一样。
接下来,就要为php安装redis的扩展了。在ubuntu下比较简单,可以直接执行命令
$ sudo apt-get install php5-redis
在windows,需要下载
igbinary扩展(http://windows.php.net/downloads/pecl/releases/igbinary/1.2.1/)
redis扩展(http://windows.php.net/downloads/pecl/snaps/redis/2.2.5/)
igbinary扩展有不同版本编译,注意根据下载对应的php版本。
将上面两个扩展文件.dll 放在php的扩展目录php/ext下 ,将扩展添加到php.ini 中
extension=php_igbinary.dll
extension=php_redis.dll
然后重启apache,打开phpinfo,如果存在redis模块,证明php redis扩展安装成功。
Redis 在php下有两种实现方式:predis和 phpredis。predis为纯php的实现方式,phpredis为c语言的实现方式。