Keys 和 Strings 相关的方法
================================
append - 给某个 key 对应的值添加一段字符串.
bitcount - Count set bits in a string
bitop - 字符串之间进行位运算
decr, decrBy - 对一个 key 对应的值进行递减
get - 获取 key 对应的值
getBit - 从 key 对应的值中某位置的 bit 值
getRange - 从 key 对应的值中取一段
getSet - 设置一个 key 的值,并返回它原来的值
incr, incrBy - 对一个 key 对应的值进行递增
incrByFloat - 对一个 key 对应的 Float 值进行增加一定值
mGet, getMultiple - 获得所有给定 key 的值
mSet, mSetNX - 设置多个 key 的值
set - 设置给定 key 的给定值
setBit - 设置或清除一个 key 对应的 value 中指定位置的 bit 值
setex, psetex - 设置一个 key 对应值的过期时间
setnx - 当一个 key 不存在时,设置这个 key 对应的值
setRange - 设置一个 key 对应值指定位置的内容
strlen - 返回 key 对应值的字符串长度
Keys 相关方法
================================
del, delete - 删除某 key
exists - 检查某 key 是否存在
expire, setTimeout, pexpire - 设置某 key 的过期时间,单位是 "秒"
expireAt, pexpireAt - 设置某 key 的过期时间戳
keys, getKeys - 找到所有符合给定表达式的 key
migrate - 自动从一个 redis 实例传递一个 key 到另一个实例
move - 把一个 key 移动到另一个数据库
persist - 删除某 key 的过期时间
randomKey - 返回一个随机 key
rename, renameKey - 重命名某 key
renameNx - 当新的 key 不存在时,重命名某 key
type - 检查某 key 的类型
sort - 给 key 对应的列表排序
ttl, pttl - 获得某 key 存在的时间
get
-----------------------------------
获取 key 对应的值
参数:
key
返回值:
String or Bool: 返回 key 对应的值.如果 key 不存在,返回 false.
示例:
$redis->get('key');
set
-----------------------------------
设置给定 key 的给定值
参数:
Key
Value
超时时间或操作选项
返回值:
如果成功返回 TRUE
示例:
// Simple key -> value set
$redis->set('key', 'value');
// Will redirect, and actually make an SETEX call
$redis->set('key','value', 10);
// Will set the key, if it doesn't exist, with a ttl of 10
seconds
$redis->set('key', 'value', Array('nx',
'ex'=>10));
// Will set a key, if it does exist, with a ttl of 1000
miliseconds
$redis->set('key', 'value', Array('xx',
'px'=>1000));
setex, psetex
-----------------------------------
设置 key 的值以及过期时间
参数:
Key
TTL
Value
返回值:
如果成功返回 TRUE
示例:
$redis->setex('key', 3600, 'value'); // 设置 key → value,
一小时过期
$redis->psetex('key', 100, 'value'); // 设置 key → value, 0.1
秒过期
setnx
-----------------------------------
如果 key 在数据库中不存在,给它设置值
参数:
key
value
返回值:
如果成功返回 TRUE.失败时返回 FLASE
示例:
$redis->setnx('key', 'value');
$redis->setnx('key', 'value');
del, delete
-----------------------------------
删除 key
参数:
一个 key 的数组或一个参数对应一个 key, 传递 N 个
返回值:
成功删除的个数
示例:
$redis->set('key1', 'val1');
$redis->set('key2', 'val2');
$redis->set('key3', 'val3');
$redis->set('key4', 'val4');
$redis->delete('key1', 'key2');
$redis->delete(array('key3', 'key4'));
exists
-----------------------------------
检查某 key 是否存在
参数:
key
返回值:
BOOL: 如果 key 存在, 返回 TRUE, 否则 返回 FALSE.
示例:
$redis->set('key', 'value');
$redis->exists('key');
$redis->exists('NonExistingKey');
incr, incrBy
-----------------------------------
给指定 key 的值加 1,
incrBy 的时候,如果第二个参数也指定了,就给对应 key 的值加上第二个参数的 int 值
参数:
key
value: 要加的值 (只有 incrBy 时有效)
返回值:
增加后的值
示例:
$redis->incr('key1');
$redis->incr('key1');
$redis->incr('key1');
$redis->incr('key1');
$redis->incrBy('key1', 10);
incrByFloat
-----------------------------------
给 key 加上对应的浮点数.
参数:
key
value: 要添加的浮点数
返回值:
FLOAT 增加后的结果
示例:
$redis->incrByFloat('key1', 1.5);
$redis->incrByFloat('key1', 1.5);
$redis->incrByFloat('key1', -1.5);
$redis->incrByFloat('key1', 2.5);
decr, decrBy
-----------------------------------
给 key 对应的值减 1
decrBy 时,如果第二个参数也添加了,会减去传递的值
参数:
key
value: 要减的值 (decrBy 时有效)
返回值:
INT 减后的结果
示例:
$redis->decr('key1');
$redis->decr('key1');
$redis->decr('key1');
$redis->decrBy('key1', 10);
mGet, getMultiple
-----------------------------------
得到多个 key 对应的值,结果存在数组中.如果某 key 不存在,结果数组中的那一项是 FALSE
参数:
Array: 包括所有要查询的 key
返回值:
Array: 包括所有 key 对应的值
示例:
$redis->set('key1', 'value1');
$redis->set('key2', 'value2');
$redis->set('key3', 'value3');
$redis->mGet(array('key1', 'key2', 'key3'));
$redis->get('key');
getRange
-----------------------------------
截取一段字符串,相当于 substring
参数:
key
start
end
返回值:
STRING: 截取出来的字符串
示例:
$redis->set('key', 'string value');
$redis->getRange('key', 0, 5);
$redis->getRange('key', -5, -1);
setRange
-----------------------------------
更改字符串中一段的值
参数:
key
offset
value
返回值:
STRING: 更改后字符串的长度
示例:
$redis->set('key', 'Hello world');
$redis->setRange('key', 6, "redis");
$redis->get('key');
strlen
-----------------------------------
获得 key 对应的值的长度
参数:
key
返回值:
INTEGER
示例:
$redis->set('key', 'value');
$redis->strlen('key');
getBit
-----------------------------------
获得一段长字符串的第一 bit 的值
参数:
key
offset
返回值:
LONG: bit 值, 0 或 1
示例:
$redis->set('key', "\x7f"); // 对应的值是 0111 1111
$redis->getBit('key', 0);
$redis->getBit('key', 1);
setBit
-----------------------------------
更改某字符串的某一位
参数:
key
offset
value: 布尔值或 0, 1
返回值:
LONG: 0 or 1, 设置之前的值
示例:
$redis->set('key', "*"); // ord("*") = 42 = 0x2f = "0010 1010"
$redis->setBit('key', 5, 1);
$redis->setBit('key', 7, 1);
$redis->get('key');
sort
-----------------------------------
列表集合排序
参数:
Key: key
Options: array(key => value, ...) - 排序的一些参数
'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'
返回值:
An array of values, or a number corresponding to the number of
elements stored if that was used.
示例:
$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
ttl, pttl
-----------------------------------
给定 key 存在的时间,秒或毫秒
参数:
Key: key
返回值:
LONG: 存在的秒数. key 不存在的时候返回 -2.没有 ttl 时返回 -1
示例:
$redis->ttl('key');
persist
-----------------------------------
删除 key 的过期时间
参数:
Key: key
返回值:
BOOL: 成功删除返回 TRUE, key 不存在或者过期时间不存在时返回 FALSE.
示例:
$redis->persist('key');
mset, msetnx
-----------------------------------
设置多个 key 的值.
参数:
Pairs: array(key => value, ...)
返回值:
BOOL: 成功返回 TRUE. 失败返回 FALSE.
示例:
$redis->mset(array('key0' => 'value0', 'key1' =>
'value1'));
var_dump($redis->get('key0'));
var_dump($redis->get('key1'));
输出结果:
string(6) "value0"
string(6) "value1"
migrate
-----------------------------------
redis 实例间迁移 key.成功后,本机上的 key 会被删除
参数:
host string. 目标主机
port integer. 目标端口
key string. 要传递的 key
destination-db integer. 目标数据库编号
timeout integer. 超时时间.秒
copy boolean, 是否移除源实例上的 key
replace boolean, optional. 是否替换目标实例上已经存在的 key
示例:
$redis->migrate('backup', 6379, 'foo', 0, 3600);
$redis->migrate('backup', 6379, 'foo', 0, 3600, true,
true);
$redis->migrate('backup', 6379, 'foo', 0, 3600, false,
true);