04-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 <dbid>命令在连接上指定数据库id
databases 8
##指定在多长时间内,有多少次更新操作,就将数据同步到数据文件,可以多个条件配合
#save <seconds> <changes>
#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
...
 
 
安装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]
<?php
$redis = new Redis(); //实例化Redis对象
$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 @ 2017-07-11 18:18  码农骆驼  阅读(251)  评论(0编辑  收藏  举报