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 

 

[安装php-redis扩展]

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

 

[PHP操作redis]

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”
?>

 

posted @ 2018-05-29 18:15  浮尘微光  阅读(741)  评论(0编辑  收藏  举报