本文主要给大家介绍一下php-redis常用命令汇总。希望对有需要的朋友有所帮助!
按键
del
、删除
- 删除键
dump
- 返回存储在指定键处的值的序列化版本。
存在
- 确定密钥是否存在
expire
、setTimeout
、pexpire
- 设置密钥生命周期(以秒为单位)
expireAt
、pexpireAt
- 将密钥的过期时间设置为 UNIX 时间戳
keys
、getKeys
- 查找与给定模式匹配的所有键
scan
- 扫描键空间中的键 (Redis >= 2.8.0)
迁移
- 将密钥从一个 Redis 实例原子传输到另一个实例
移动
- 将密钥移动到另一个数据库
object
- 检查 Redis 对象的内部
坚持
- 从密钥中删除过期的
randomKey
- 从密钥空间返回随机密钥
重命名
、renameKey
- 重命名键
renameNx
- 重命名密钥,仅当新密钥不存在时
type
- 确定存储在按键
排序
- 对列表、集合或排序集中的元素进行排序
ttl
、pttl
- 获得一键按住的时间
恢复
- 使用之前通过转储获得的提供的序列化值创建密钥。
扫描
描述:扫描按键的键空间
返回:数组,布尔值:此函数将返回键数组,如果没有更多键,则返回 FALSE
参考网址:http://www.sychzs.cn/questions/19910527/how-to-use-hscan-command-in-redis
$it = NULL; /* 将迭代器初始化为 NULL */ $redis->setOption(Redis::OPT_SCAN, Redis::SCAN_RETRY); /* 当我们没有取回密钥时重试 */ while($arr_keys = $redis->scan($it)) { foreach($arr_keys 为 $str_key) { echo "这是一个键:$str_key\n"; } echo "不再需要扫描按键!\n"; }
字符串
append
- 将值附加到键
bitCount
- 计算字符串中设置的位数
bitOp
- 在字符串之间执行按位运算
decr
, decrBy
- 减少键
get
- 获取键
getBit
- 返回存储在键中的字符串值中偏移量
getRange
- 获取存储在键
getSet
- 设置键的字符串值并返回其旧值
incr
、incrBy
- 增加键
incrByFloat
- 将键的浮点值增加给定量
mGet
、getMultiple
- 获取给定键
mSet
、mSetNX
- 将多个键设置为多个值
set
- 设置键
setBit
- 设置或清除键字符串值中偏移量
setEx
, pSetEx
- 设置密钥的值和过期时间
setNx
- 设置某个键的值,仅当该键不存在时
setRange
- 覆盖从指定偏移量开始的键处的部分字符串
strLen
- 获取密钥中存储的值的长度
PSETEX
说明:PSETEX 使用毫秒级 TTL
$ redis->pSetEx('键', 100, '值'); //设置key→value,0.1秒TTL。
setNx
描述:如果数据库中不存在该键,则将参数中的字符串值设置为该键的值。
$redis->setNx('键', '值'); /* 返回真 */ $redis->setNx('键', '值'); /* return FALSE */
incr, incrBy
描述:将存储在键上的数字加 1。如果填充第二个参数,它将用作要递增的整数值。
$redis->incr('key1'); /* key1不存在,添加前设置为0 */ /*,当前值为1 */ $redis->incr('key1'); /* 2 */ $redis->incr('key1'); /* 3 */ $redis->incr('key1'); /* 4 */ $redis->incrBy('key1', 10); /* 14 */
incrByFloat
说明:使用浮点精度增量键
$redis->incrByFloat('key1', 1.5); /* key1 不存在,所以现在是 1.5 */ $redis->incrByFloat('key1', 1.5); /* 3 */ $redis->incrByFloat('key1', -1.5); /* 1.5 */$redis->incrByFloat('key1', 2.5); /* 4 */
mGet, getMultiple
描述:获取所有指定键的值。如果一个或多个键不存在,则数组中该键的位置将包含 FALSE。
$redis->set('key1', 'value1'); $redis->set('key2', 'value2'); $redis->set('key3', 'value3'); $redis->mGet(array('key1', 'key2', 'key3')); /* 数组('值1', '值2', '值3'); $redis->mGet(array('key0', 'key1', 'key5')); /* array(`FALSE`, 'value1', `FALSE`);
getSet
描述:设置一个值并返回该键上的上一个条目。
$redis->set('x', '42'); $exValue = $redis->getSet('x', 'lol'); // 返回 '42',用 'lol' 替换 x $newValue = $redis->get('x')' // return 'lol'
移动
描述:将密钥移动到其他数据库。
$redis->select(0); //切换到DB 0 $redis->set('x', '42'); // 将 42 写入 x $redis->move('x', 1); // 移动到数据库1 $redis->选择(1); //切换到DB 1 $redis->get('x'); // 登录后会返回42
重命名,renameKey
描述:
$redis->set('x', '42'); $redis->重命名('x', 'y');$redis->get('y'); // → 42 $redis->get('x'); // → `FALSE
renameNx
说明:与rename相同,但如果目标已经存在,则不会替换key。这与 setNx 的行为相同。
$redis->set('x', '42'); $redis->setTimeout('x', 3); // x 将在 3 秒后消失。 睡眠(5); //等待5秒 $redis->get('x'); // 将返回 `FALSE`,因为 'x' 已过期。
expireAt, pexpireAt
这适用于从 Unix 设置时间戳。密钥的失效日期(自纪元时间起以秒为单位)。
描述:设置项目的到期日期(时间戳)。 pexpireAt 需要以毫秒为单位的时间戳。
$redis->set('x', '42'); $现在=时间(NULL); // 当前时间戳 $redis->expireAt('x', $now + 3); // x 将在 3 秒后消失。 睡眠(5); //等待5秒 $redis->get('x'); // 将返回 `FALSE`,因为 'x' 已过期。