Linux下编译安装PHP扩展redis
【Redis】
先安装tcl: yum install tcl
官网http://redis.io/ 下载最新的稳定版本,这里是3.2.0, 然后解压文件并进入。
$ sudo tar -zxf redis-3.2.0.tar
$ cd redis-3.2.0
$ sudo make test #测试编译
$ sudo make install #安装
(1) 切换到root用户,并在 /usr/local/redis 下建立3个目录:bin、etc、db
(2) 拷贝 /usr/local 下的 bin 目录下的redis-* 系列文件 到 /usr/local/redis/bin
$ cp /usr/local/bin/reids-* /usr/local/redis/bin
(3) 拷贝redis-3.2.0/src 下的mkreleasehdr.sh 到 /usr/local/redis/bin下
$ cp /usr/local/redis3.2.0/src/mkreleasehdr.sh /usr/local/redis/bin/
(4) 拷贝redis.conf 到 /usr/local/redis/etc下
$ cp /usr/local/redis-3.2.0/redis.conf /usr/local/redis/etc
(5) 修改redis.conf:
#修改为守护模式 daemonize yes #设置进程锁文件 pidfile /usr/local/redis/redis.pid #端口 port 6379 #客户端超时时间 timeout 300 #日志级别 loglevel debug #日志文件位置 logfile /usr/local/redis/log-redis.log #设置数据库的数量,默认数据库为0,可以使用SELECT 命令在连接上指定数据库id databases 8 ##指定在多长时间内,有多少次更新操作,就将数据同步到数据文件,可以多个条件配合 #save #Redis默认配置文件中提供了三个条件: save 900 1 save 300 10 save 60 10000 #指定存储至本地数据库时是否压缩数据,默认为yes,Redis采用LZF压缩,如果为了节省CPU时间, #可以关闭该#选项,但会导致数据库文件变的巨大 rdbcompression yes #指定本地数据库文件名 dbfilename dump.rdb #指定本地数据库路径 dir /usr/local/redis/db/ #指定是否在每次更新操作后进行日志记录,Redis在默认情况下是异步的把数据写入磁盘,如果不开启,可能 #会在断电时导致一段时间内的数据丢失。因为 redis本身同步数据文件是按上面save条件来同步的,所以有 #的数据会在一段时间内只存在于内存中 appendonly no #指定更新日志条件,共有3个可选值: #no:表示等操作系统进行数据缓存同步到磁盘(快) #always:表示每次更新操作后手动调用fsync()将数据写到磁盘(慢,安全) #everysec:表示每秒同步一次(折衷,默认值) appendfsync everysec
(6) 修改权限为当前使用者 xxx
$ chown -R xxxx /usr/local/redis
(7) 启动服务
$ cd /usr/local/redis
$ ./bin/redis-server ./etc/redis.conf
(8) 访问服务
$ cd /usr/local/redis
$ ./bin/redis-cli
set name renxing ex 1000
get name
keys *
mset a hello b bold c cat d dog
mget a b c d
...
更多请参考:http://www.cnblogs.com/kccdzz/p/6009020.html
git clone或者下载解压 [https://github.com/phpredis/phpredis]
$ cd ./phpredis
$ /usr/local/php/bin/phpize
$ ./configure --with-php-config=/usr/local/php/bin/php-config
$ make && make install
安装完成后,在php.ini 后面添加 extension=redis.so
open('localhost',6379) or die ("Could not connect"); //连接到redis服务器 $redis->set('user:userid:2:username','renxing'); //set方法存入数据 $value = $redis->get('user:userid:2:username'); //get方法取出数据 print_r($value); //输出“renxing” ?>