设为首页收藏本站

Scripts 学盟

 找回密码
 加入学盟

QQ登录

只需一步,快速开始

查看: 1401|回复: 0
打印 上一主题 下一主题

Redis函数使用(五) [复制链接]

Rank: 8Rank: 8

跳转到指定楼层
1#
那个谁 发表于 2012-2-18 10:43:51 |只看该作者 |倒序浏览
select
说明:
选择一个数据库
参数:
Dbindex
返回值:
Bool
范例:
$redis->select(0);  // switch to DB 0
$redis->set('x', '42'); // write 42 to x
$redis->move('x', 1);   // move to DB 1
$redis->select(1);  // switch to DB 1
$redis->get('x');   // will return 42

move
说明:
转移一个key到另外一个数据库
参数:
Key
返回值:
Bool
范例:
$redis->select(0);  // switch to DB 0
$redis->set('x', '42'); // write 42 to x
$redis->move('x', 1);   // move to DB 1
$redis->select(1);  // switch to DB 1
$redis->get('x');   // will return 42
rename, renameKey
说明:
重命名key
参数:
Srckey
dstkey
返回值:
Bool
范例:
$redis->set('x', '42');
$redis->rename('x', 'y');
$redis->get('y');   // → 42
$redis->get('x');   // → `FALSE`
renameNx
与remane类似,但是,如果重新命名的名字已经存在,不会替换成功

setTimeout, expire
说明:
设定一个key的活动时间(s)
参数:
Key
返回值:
Bool
范例:
$redis->set('x', '42');
$redis->setTimeout('x', 3); // x will disappear in 3 seconds.
sleep(5);               // wait 5 seconds
$redis->get('x');       // will return `FALSE`, as 'x' has expired.
expireAt
说明:
key存活到一个unix时间戳时间
参数:
Key
Unix timestamp
返回值:
Bool
范例:
$redis->set('x', '42');
$now = time(NULL); // current timestamp
$redis->expireAt('x', $now + 3);    // x will disappear in 3 seconds.
sleep(5);               // wait 5 seconds
$redis->get('x');       // will return `FALSE`, as 'x' has expired.
keys, getKeys
说明:
返回满足给定pattern的所有key
参数:
Pattern (可带*)
返回值:
Array
范例:
$allKeys = $redis->keys('*');   // all keys will match this.
$keyWithUserPrefix = $redis->keys('user*');
dbSize
说明:
查看现在数据库有多少key
参数:

返回值:
DB size,
范例:
$count = $redis->dbSize();
echo "Redis has $count keys\n";

auth
说明:
密码验证
参数:
password
返回值:
BOOL
范例:
$redis->auth('foobared');
bgrewriteaof
说明:
使用aof来进行数据库持久化
参数:

返回值:
Bool
范例:
$redis->bgrewriteaof();
slaveof
说明:
选择从服务器
参数:
host (string) and port
返回值:
BOOL
范例:
$redis->slaveof('10.0.1.7', 6379);
/* ... */
$redis->slaveof();
object
说明:
获得key对象的详细内容
参数:
"encoding"
"refcount"
"idletime"
返回值:
STRING for "encoding",
LONG for "refcount" and "idletime",
FALSE if the key doesn't exist.
范例:
$redis->object("encoding", "l"); // → ziplist
$redis->object("refcount", "l"); // → 1
$redis->object("idletime", "l"); // → 400 (in seconds, with a precision of 10 seconds).
save
说明:
将数据同步保存到磁盘
参数:

返回值:
Bool
范例:
$redis->save();
bgsave
说明:
将数据异步保存到磁盘
参数:

返回值:
Bool
范例:
$redis->bgSave();
lastSave
说明:
返回上次成功将数据保存到磁盘的Unix时间戳
参数:

返回值:
timestamp
范例:
$redis->lastSave();
type
说明:
返回key的类型值
参数:
Key
返回值:
根据指定的类型返回
string: Redis::REDIS_STRING
set: Redis::REDIS_SET
list: Redis::REDIS_LIST
zset: Redis::REDIS_ZSET
hash: Redis::REDIS_HASH
other: Redis::REDIS_NOT_FOUND

范例:
$redis->type('key');
append
说明:
在指定的一个key值后面追加一个值
参数:
Key
Value
返回值:
追加完之后这个key值得长度。
范例:
$redis->set('key', 'value1');
$redis->append('key', 'value2'); /* 12 */
$redis->get('key'); /* 'value1value2' */
getRange (方法不存在)
说明:
返回名称为key的string中start至end之间的字符
参数:
key
start
end
返回值:
截取之后的值
范例:
$redis->set('key', 'string value');
$redis->getRange('key', 0, 5); /* 'string' */
$redis->getRange('key', -5, -1); /* 'value' */


setRange
说明:
改变key的string中start至end之间的字符为value
参数:
key
offset
value
返回值:
修改后字符的长度
范例:
$redis->set('key', 'Hello world');
$redis->setRange('key', 6, "redis"); /* returns 11 */
$redis->get('key'); /* "Hello redis" */
strlen
说明:
获得一个指定key的长度
参数:
key
返回值:
长度
范例:
$redis->set('key', 'value');
$redis->strlen('key'); /* 5 */
getBit
说明:
返回一个指定key的二进制信息
参数:
key
offset
返回值:
LONG
范例:
$redis->set('key', "\x7f"); // this is 0111 1111
$redis->getBit('key', 0); /* 0 */
$redis->getBit('key', 1); /* 1 */
setBit
说明:
给一个指定key的值得第offset位 赋值为value。
参数:
key
offset
value: bool or int (1 or 0)
返回值:
LONG: 0 or 1
范例:
$redis->set('key', "*");    // ord("*") = 42 = 0x2f = "0010 1010"
$redis->setBit('key', 5, 1); /* returns 0 */
$redis->setBit('key', 7, 1); /* returns 0 */
$redis->get('key'); /* chr(0x2f) = "/" = b("0010 1111") */
flushDB
说明:
清空当前数据库
参数:

返回值:
Bool:永远都返回true
范例:
$redis->flushDB();
flushAll
说明:
清空所有数据库
参数:

返回值:
Bool:永远都返回true
范例:
$redis->flushAll();
sort
说明:
排序,分页等
参数:
'by' => 'some_pattern_*',
'limit' => array(0, 1),
'get' => 'some_other_pattern_*' or an array of patterns,
'sort' => 'asc' or 'desc',
'alpha' => TRUE,
'store' => 'external-key'
返回值:
Array
范例:
$redis->delete('s');
$redis->sadd('s', 5);
$redis->sadd('s', 4);
$redis->sadd('s', 2);
$redis->sadd('s', 1);
$redis->sadd('s', 3);

var_dump($redis->sort('s')); // 1,2,3,4,5
var_dump($redis->sort('s', array('sort' => 'desc'))); // 5,4,3,2,1
var_dump($redis->sort('s', array('sort' => 'desc', 'store' => 'out'))); // (int)5
info
说明:
返回redis的版本信息等详情
参数:

返回值:

范例:
$redis->info();
resetStat
说明:
重新统计输出INFO 命令的结果
参数:

返回值:
BOOL
范例:
$redis->resetStat();
ttl
说明:
得到一个key的生存时间,如果这个key值不存在则返回false
参数:
Key
返回值:
Long or bool
范例:
$redis->ttl('key');
persist
说明:
移除生存时间到期的key
参数:
Key
返回值:
Bool 如果移除成功了返回true ,如果值不存在或是还在生存时间内则返回false
范例:
$redis->persist('key');
mset, msetnx
说明:
同时给多个key赋值 ,MSETNX 只有当给所有的值都创建成功的时候才会返回true
参数:
array(key => value, ...)
返回值:
Bool  
范例:



$redis->mset(array('key0' => 'value0', 'key1' => 'value1'));
var_dump($redis->get('key0'));
var_dump($redis->get('key1'));

Output:

string(6) "value0"
string(6) "value1"
rpoplpush (redis版本1.1以上才可以)
说明:
返回并删除名称为srckey的list的尾元素,并将该元素添加到名称为dstkey的list的头部
参数:
Key: srckey
Key: dstkey
返回值:
Bool
范例:
$redis->delete('x', 'y');

$redis->lPush('x', 'abc');
$redis->lPush('x', 'def');
$redis->lPush('y', '123');
$redis->lPush('y', '456');

// move the last of x to the front of y.
var_dump($redis->rpoplpush('x', 'y'));
var_dump($redis->lRange('x', 0, -1));
var_dump($redis->lRange('y', 0, -1));
分享到: QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
分享分享0 收藏收藏0
您需要登录后才可以回帖 登录 | 加入学盟

手机版|Scripts 学盟   |

GMT+8, 2024-4-29 09:31 , Processed in 1.094105 second(s), 11 queries .

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部