PHP缓存之redis中文文档

jopen 12年前

phpredis是php的一个扩展,效率是相当高有链表排序功能,对创建内存级的模块业务关系

很有用;以下是redis官方提供的命令使用技巧:

https://github.com/owlient/phpredis(支持redis 2.0.4)

Redis::__construct构造函数

$redis = new Redis();

connect, open 链接redis服务

参数  host: string,服务地址  port: int,端口号  timeout: float,链接时长 (可选, 默认为 0 ,不限链接时间)  注: 在redis.conf中也有时间,默认为300

get 得到某个key的值(string值)

如果该key不存在,return false

set 写入key 和 value(string值)

如果写入成功,return ture

setex 带生存时间的写入值

$redis->setex('key', 3600, 'value'); // sets key → value, with 1h TTL.

setnx 判断是否重复的,写入值

$redis->setnx('key', 'value');  $redis->setnx('key', 'value');

delete  删除指定key的值

返回已经删除key的个数(长整数)  $redis->delete('key1', 'key2');  $redis->delete(array('key3', 'key4', 'key5'));

mset (redis版本1.1以上才可以用)

同时给多个key赋值  $redis->mset(array('key0' => 'value0', 'key1' => 'value1'));

multi, exec, discard进入或者退出事务模式

参数可选Redis::MULTI或Redis::PIPELINE. 默认是 Redis::MULTI  Redis::MULTI:将多个操作当成一个事务执行  Redis::PIPELINE:让(多条)执行命令简单的,更加快速的发送给服务器,但是没有任何原子性的保证  discard:删除一个事务  返回值  multi(),返回一个redis对象,并进入multi-mode模式,一旦进入multi-mode模式,  以后调用的所有方法都会返回相同的对象,只到exec()方法被调用。    watch, unwatch (代码测试后,不能达到所说的效果)  监测一个key的值是否被其它的程序更改。如果这个key在watch 和 exec (方法)间被修改,  这个 MULTI/EXEC 事务的执行将失败(return false)  unwatch  取消被这个程序监测的所有key  参数,一对key的列表  $redis->watch('x');    $ret = $redis->multi() ->incr('x') ->exec();      subscribe *  方法回调。注意,该方法可能在未来里发生改变    publish *  发表内容到某一个通道。注意,该方法可能在未来里发生改变    exists  判断key是否存在。存在 true 不在 false

List链表型操作

1、list左边(头)添加一个值为value的元素,返回0和1

$redis - > [lr]push($key,$values);


[lr]Pushx 如果存在就不添加

[lr]Pop 删除,成功则返回删除元素

2、lSize 返回链表的元素个数

$redis -> lSize($key);


3、lSet 给key的list中index位置的元素赋值为value

$redis -> lSet($key,$index,$values);


4、lGet,IIndex 返回key的list中index位置的元素

$redis -> lGet($key,$index);


5、lRange,lGetRange 返回key的list中start 至 end 之间的元素(end=-1,返回所有),负值表示从后面开始计算

$redis -> lRange($key,$start,$end)


6、lTrim,listTrim 截取名称key的list,保留start - end 之间的元素

$redis -> lTrim($key,$start,$end);


7、lRem,lRemove 删除count个名称为key的list中值为value的元素。count=0,删除所有值为value的元素;count>0从头到尾删除count个值为value的元素,count<0从尾到头删除count个值为value的元素