class RdsNative

缓存处理

Methods

__construct(array $config, string $cacheTag = '')

CacheHandler constructor.

bool
set(string $key, string|array $value, null|string $expireResolution = null, null|int $expireTTL = null, null $flag = null)

将字符串值 value 关联到 key, 如果 key 已经持有其他值, SET 就覆写旧值, 无视类型 当 SET 命令对一个带有生存时间(TTL)的键进行设置之后, 该键原有的 TTL 将被清除

mixed
get(string $key, bool $decode = true)

No description

mixed|string|null
getSet(string $key, mixed $value, bool $decode = true)

将键 key 的值设为 value , 并返回键 key 在被设置之前的旧值。

int
strLen(string $key)

返回键 key 储存的字符串值的长度, 如果key 不存在则返回 0 这里返回的字符串长度是字符数, 如果一个汉字, 这里返回 3

int
append(string $key, string $value)

如果键 key 已经存在并且它的值是一个字符串, APPEND 命令将把 value 追加到键 key 现有值的末尾。 如果 key 不存在, APPEND 就简单地将键 key 的值设为 value , 就像执行 SET key value 一样。 追加 value 之后, 键 key 的值的长度

int
setRange(string $key, int $offset, string $value)

从偏移量 offset 开始, 用 value 参数覆写(overwrite)键 key 储存的字符串值。 不存在的键 key 当作空白字符串处理。 SETRANGE 命令会确保字符串足够长以便将 value 设置到指定的偏移量上, 如果键 key 原来储存的字符串长度比偏移量小(比如字符串只有 5 个字符长,但你设置的 offset 是 10 ), 那么原字符和偏移量之间的空白将用零字节(zerobytes, "\x00" )进行填充。 设置空的数据返回的内容是 , 不能正确显示, 当然也不是空格,可以当做无意义的数据进行截取处理, 尽量避免使用这个字串

int
incr(string $key, int $value = 1)

为键 key 储存的数字值加上一。

string
incrByFloat(string $key, float $value)

因为浮点数计算可能会产生问题, 这里强制返回 String

int
decr(string $key, int $value = 1)

为键 key 储存的数字值减去一。 如果键 key 不存在, 那么键 key 的值会先被初始化为 0 , 然后再执行 DECR 操作。 如果键 key 储存的值不能被解释为数字, 那么 DECR 命令将返回一个错误。

string
getRange(string $key, int $start, int $end = -1)

返回键 key 储存的字符串值的指定部分, 字符串的截取范围由 start 和 end 两个偏移量决定 (包括 start 和 end 在内)。 负数偏移量表示从字符串的末尾开始计数, -1 表示最后一个字符, -2 表示倒数第二个字符, 以此类推。

array
mGet($keys, bool $decode = true)

是否进行默认解码

bool
setEx(string $key, int $seconds, array|string $value)

设置值并设置过期时间

bool
pSetEx(string $key, int $milliseconds, array|string $value)

设置值并设置过期时间(毫秒)

bool
setNx(string $key, array|string $value)

No description

bool
mSet(array $array)

同时为多个键设置值(原子性操作)

bool
mSetNx(array $array)

当且仅当所有给定键都不存在时, 为所有给定键设置值。 即使只有一个给定键已经存在, MSETNX 命令也会拒绝执行对所有键的设置操作。 MSETNX 是一个原子性(atomic)操作, 所有给定键要么就全部都被设置, 要么就全部都不设置, 不可能出现第三种状态。

int
hDel(string $key, string|array $fields)

删除哈希表 key 中的一个或多个指定域,不存在的域将被忽略。

bool
hExists($key, $field)

No description

mixed
hGet(string|int $key, string|int $field, bool $decode = true)

返回哈希表中给定域的值, 支持数组的返回

array
hGetAll($key, bool $decode = true)

No description

int
hSet(string $key, string|int $field, mixed $value)

设置哈希表 如果是 在事务中运行, 则返回 queue.

int
hSetNx(string $key, string $field, mixed $value)

当且仅当域 field 尚未存在于哈希表的情况下, 将它的值设置为 value 。 如果给定域已经存在于哈希表当中, 那么命令将放弃执行设置操作。 如果哈希表 hash 不存在, 那么一个新的哈希表将被创建并执行 HSETNX 命令。

int
hLen(string $key)

返回哈希表 key 中域的数量

int
hStrLen(string $key, string $field)

返回哈希表 key 中, 与给定域 field 相关联的值的字符串长度(string length)。 如果给定的键或者域不存在, 那么命令返回 0

int
hIncrBy(string $key, string $field, int $value = 1)

为哈希表 key 中的域 field 的值加上增量 increment 。 增量也可以为负数,相当于对给定域进行减法操作。 如果 key 不存在,一个新的哈希表被创建并执行 HINCRBY 命令。 如果域 field 不存在,那么在执行命令前,域的值被初始化为 0 。 对一个储存字符串值的域 field 执行 HINCRBY 命令将造成一个错误。

string
hIncrByFloat(string $key, string $field, float|string $value)

浮点数增加

array
hMGet(string $key, string|array $fields, bool $decode = true)

批量获取数据

mixed
hMSet($key, array|Arrayable $dictionary)

No description

array
hScan(string $key, int $cursor = 0, array $options = [])

对于 Hscan 存在的 count 失效的问题可以查看

array
hKeys(string $key)

返回哈希表 key 中的所有域

array
hVals(string $key)

获取所有值, 支持数组的传入和获取

int
lLen($key)

列表的长度

array
lRange(string $key, int $start = 0, int $stop = -1)

返回列表 key 中指定区间内的元素,区间以偏移量 start 和 stop 指定

bool
lTrim(string $key, int $start, int $stop)

保留指定区间内的数据

int
lRem(string $key, int $count, array|string $value)

No description

mixed
lPop($key, bool $decode = true)

左侧移除

mixed
lIndex(string $key, int $index)

返回列表 key 中,下标为 index 的元素

bool
lInsert(string $key, string $whence, mixed $pivot, mixed $value)

将值 value 插入到列表 key 当中,位于值 pivot 之前或之后。 当 pivot 不存在于列表 key 时,不执行任何操作。 当 key 不存在时, key 被视为空列表,不执行任何操作。

bool
lSet(string $key, int $index, mixed $value)

设置值

int
pfAdd(string $key, string|array $elements)

No description

int
pfCount(string|array $key)

HyperLogLog 数据统计 命令返回的可见集合(observed set)基数并不是精确值, 而是一个带有 0.81% 标准错误(standard error)的近似值

int
pfMerge(string|array $key)

HyperLogLog 数据合并

array|null
bLPop(string $key, int $timeout = 2)

阻塞式获取

array|null
bRPop(string $key, int $timeout = 2)

阻塞式获取

string|null
bRPopLPush(string $source, string $dist, int $timeout = 2)

阻塞式获取

int
lPush(string $key, string|array $values)

将一个或多个值 value 插入到列表 key 的表头 如果有多个 value 值,那么各个 value 值按从左到右的顺序依次插入到表头: 比如说,对空列表 mylist 执行命令 LPUSH mylist a b c ,列表的值将是 c b a 这等同于原子性地执行 LPUSH mylist a 、 LPUSH mylist b 和 LPUSH mylist c 三个命令。

int
lPushX(string $key, array|string $values)

将值 value 插入到列表 key 的表头,当且仅当 key 存在并且是一个列表 测试发现参数仅仅支持一个, 因为仅仅支持一个, 如果为数组, 则进行序列化

int
rPush(string $key, $values)

将一个或多个值 value 插入到列表 key 的表尾(最右边)。 如果有多个 value 值,那么各个 value 值按从左到右的顺序依次插入到表尾 比如对一个空列表 mylist 执行 RPUSH mylist a b c ,得出的结果列表为 a b c 等同于执行命令 RPUSH mylist a 、 RPUSH mylist b 、 RPUSH mylist c

int
rPushX(string $key, string|array $values)

右侧插入, 如果值存在, 则进行赋值, 否则不进行操作 经测试, 这里仅仅支持单值, 不支持数组

mixed
rPop(string $key)

右侧移除元素

mixed
rPopLPush(string $source, string $dist)

右侧移除元素

int
sAdd(string $key, string|array $members)

新增集合元素, 先转为数组, 如果数组内有可序列化元素再进行序列化

array
sDiff($keys)

对比多个 key

int
sDiffStore(string $destination, array $keys)

这个命令的作用和 SDIFF key [key …] 类似,但它将结果保存到 destination 集合,而不是简单地返回结果集。

array
sInter($keys)

对比多个 key, 取相同的值

int
sInterStore(string $destination, array $keys)

这个命令类似于 SINTER key [key …] 命令,但它将结果保存到 destination 集合,而不是简单地返回结果集。 如果 destination 集合已经存在,则将其覆盖。 destination 可以是 key 本身

array
sUnion(array $keys)

合并两个数据

int
sUnionStore(string $destination, array $keys)

将对接的数据保存到指定目的地

int
sCard(string $key)

返回集合的数量

array
sRandMember(string $key, int $count)

随机返回 count个元素

int
sRem(string $key, mixed $member)

移除一个或多个元素, 如果是多个元素, 需要用数组进行包裹

bool
sIsMember(string $key, mixed $member)

检测是否是集合内的元素

mixed
sPop(string $key)

No description

int
sMove(string $source, string $dist, mixed $member)

将元素从一个列表移动到另外一个列表 SMOVE 是原子性操作

array
sScan(string $key, int $cursor = 0, array $options = [])

No description

array
sMembers(string $key)

获取集合的所有成员

int
zAdd($key, array $membersAndScoresDictionary)

有序集合

string
zIncrBy(string $key, mixed $increment, string $member)

No description

int
zCard($key)

No description

int
zCount(string $key, mixed $min, mixed $max)

返回有序集 key 中, score 值在 min 和 max 之间(默认包括 score 值等于 min 或 max )的成员的数量

int
zLexCount(string $key, string $min, string $max)

对于一个所有成员的分值都相同的有序集合键 key 来说, 这个命令会返回该集合中, 成员介于 min 和 max 范围内的元素数量

int
zRem(string $key, mixed $member)

No description

int|null
zRank(string $key, string $member)

返回成员的排名, 按照score从小到大的排名, 最小为0

array
zRange(string $key, mixed $start, mixed $stop, array $options = [])

返回有序集 key 中,指定区间内的成员。 其中成员的位置按 score 值递增(从小到大)来排序。这里取的是索引值,就是排序的第几个值作为顺序

array
zRangeByScore(string $key, int $min, int $max, array $options = [])

返回有序集 key 中,所有 score 值介于 min 和 max 之间(包括等于 min 或 max )的成员。有序集成员按 score 值递增(从小到大)次序排列

array
zRevRangeByScore(string $key, int $min, int $max, array $options = [])

返回有序集 key 中, score 值介于 max 和 min 之间(默认包括等于 max 或 min )的所有的成员。有序集成员按 score 值递减(从大到小)的次序排列

int
zRemRangeByScore(string $key, mixed $start, mixed $stop)

移除有序集 key 中,所有 score 值介于 min 和 max 之间(包括等于 min 或 max )的成员。

int
zRemRangeByLex(string $key, string $start, string $stop)

根据字符信息移除相关的数据

int
zRemRangeByRank(string $key, int $start, int $stop)

移除有序集 key 中,指定排名(rank)区间内的所有成员

array
zRevRange(string $key, mixed $start, mixed $stop, array $options = [])

No description

array
zRangeByLex(string $key, string $start, string $stop, array $options = [])

有序集合的元素会根据成员的字典序(lexicographical ordering)来进行排序 合法的 min 和 max 参数必须包含 ( 或者 [ , 其中 ( 表示开区间(指定的值不会被包含在范围之内), 而 [ 则表示闭区间(指定的值会被包含在范围之内)

array
zScan(string $key, int $cursor = 0, array $options = [])

No description

string|null
zScore(string $key, string $member)

No description

int|null
zUnionStore(string $destination, array|string $keys, array $options = [])

计算给定的一个或多个有序集的并集,其中给定 key 的数量必须以 numkeys 参数指定,并将该并集(结果集)储存到 destination

int|null
zInterStore(string $destination, array|string $keys, array $options = [])

计算给定的一个或多个有序集的交集,其中给定 key 的数量必须以 numkeys 参数指定,并将该交集(结果集)储存到 destination 。

int|null
zRevRank(string $key, string $member)

反向的进行验证Rank

bool
geoAdd(string $key, string|float $longitude, string|float $latitude, string $member)

添加用户地址位置

array|null
geoPos(string $key, array|string $members)

获取用户地理位置

string|null
geoDist(string $key, int|mixed $member1, int|mixed $member2, string $unit = 'm')

计算两个位置距离

mixed
geoRadius(string $key, string|float $longitude, string|float $latitude, string|float $radius, string $unit, array $options = [])

以给定的经纬度为中心, 返回键包含的位置元素当中, 与中心的距离不超过给定最大距离的所有位置元素。

mixed
geoRadiusByMember(string $key, string $member, string|float $radius, string $unit, array $options = [])

以给定的元素为中心,与中心的距离不超过给定最大距离的所有位置元素。

array
geoHash(string $key, mixed $members)

No description

bool
select(string $database)

选择数据库

bool
disconnect()

断开连接

array
scan($cursor, array $options = [])

扫描所有key

array|Pipeline
pipeline(Closure $closure)

No description

bool
exists($key)

No description

array
sort(string $key, array $options = [])

返回或保存给定列表、集合、有序集合 key 中经过排序的元素

string
type($key)

返回 key 所储存的值的类型

bool
flushDb()

清空当前数据库的所有KEY

bool
flushAll()

清空整个 Redis 服务器的数据

bool
rename(string $key, string $target)

重命名

bool
move(string $key, mixed $db)

将当前数据库的 key 移动到给定的数据库 db 当中

bool
renameNx(string $key, string $target)

不存在时候命名

int
ttl(string $key)

当 key 不存在时,返回 -2 .当 key 存在但没有设置剩余生存时间时,返回 -1 。 否则,以秒为单位,返回 key 的剩余生存时间

int
pTtl(string $key)

这个命令类似于 TTL 命令,但它以毫秒为单位返回 key 的剩余生存时间,而不是像 TTL 命令那样,以秒为单位

int
persist(string $key)

持久化当前KEY

bool
expire(string $key, int $seconds)

设置有效期

bool
pExpire(string $key, int $milliseconds)

这个命令和 EXPIRE 命令的作用类似,但是它以毫秒为单位设置 key 的生存时间,而不像 EXPIRE 命令那样,以秒为单位

string
randomKey()

返回一个随机KEY

int
dbSize()

返回当前数据库的 key 的数量

bool
expireAt(string $key, int $timestamp)

设置有效期

bool
pExpireAt(string $key, int $mill_timestamp)

以毫秒为单位设置过期时间戳

mixed
multi()

No description

array|null
exec()

执行所有事务块内的命令

mixed
discard()

取消事务, 放弃执行事务内的所有命令

mixed
watch($key)

取消事务, 放弃执行事务内的所有命令

bool
unwatch()

取消 WATCH 命令对所有 key 的监视

array
keys(string $key)

获取key下面的所有key KEYS 匹配数据库中所有 key 。 KEYS h?llo 匹配 hello , hallo 和 hxllo 等。 KEYS hllo 匹配 hllo 和 heeeeello 等。 KEYS h[ae]llo 匹配 hello 和 hallo ,但不匹配 hillo 。

int
del(string|array $key)

删除key

int
setBit(string $key, int $offset, int $value)

设置位图

int
getBit(string $key, int $offset)

获取位图上偏移量的位

int
bitCount(string $key, int $start = 0, int $end = -1)

计算给定字符串中,被设置为 1 的比特位的数量

int
bitPos(string $key, string $bit, int $start = 0, int $end = -1)

返回位图中第一个值为 bit 的二进制位的位置。 在默认情况下, 命令将检测整个位图, 但用户也可以通过可选的 start 参数和 end 参数指定要检测的范围。

array
bitField($key, $subcommand, ...$subcommandArg)

No description

int
bitOp(string $operation, string $distKey, string $key)

对一个或多个保存二进制位的字符串 key 进行位元操作,并将结果保存到 destkey 上

mixed
remember(string $key, int $ttl, Closure $callback)

Get an item from the cache, or execute the given Closure and store the result.

mixed
decode(string|array|null $result)

No description

void
clear(string $glob = '*')

清空所有匹配 KEY

string
keyName(string|array $key)

key 的名称, 不带有前缀

Details

at line 39
__construct(array $config, string $cacheTag = '')

CacheHandler constructor.

Parameters

array $config 配置
string $cacheTag 缓存标签

at line 60
bool set(string $key, string|array $value, null|string $expireResolution = null, null|int $expireTTL = null, null $flag = null)

将字符串值 value 关联到 key, 如果 key 已经持有其他值, SET 就覆写旧值, 无视类型 当 SET 命令对一个带有生存时间(TTL)的键进行设置之后, 该键原有的 TTL 将被清除

Parameters

string $key
string|array $value
null|string $expireResolution

过期策略 EX : 过期时间(秒), PX : 过期时间(毫秒)
EX seconds : 秒
PX milliseconds 毫秒
NX -- 不存在则设置
XX -- 存在则设置

null|int $expireTTL 过期时间
null $flag

设置类型 NX : 不存在则设置, XX : 存在则设置, 这个参数在没有时间设定情况下可以进行前置

Return Value

bool

at line 79
mixed get(string $key, bool $decode = true)

No description

Parameters

string $key 默认的KEY
bool $decode

解码, 因为解码存在性能问题, 建议字符串/Json 不进行解码, 直接拿到外边去进行解码处理

Return Value

mixed

at line 92
mixed|string|null getSet(string $key, mixed $value, bool $decode = true)

将键 key 的值设为 value , 并返回键 key 在被设置之前的旧值。

Parameters

string $key
mixed $value
bool $decode 是否进行解码

Return Value

mixed|string|null

at line 105
int strLen(string $key)

返回键 key 储存的字符串值的长度, 如果key 不存在则返回 0 这里返回的字符串长度是字符数, 如果一个汉字, 这里返回 3

Parameters

string $key

Return Value

int

at line 119
int append(string $key, string $value)

如果键 key 已经存在并且它的值是一个字符串, APPEND 命令将把 value 追加到键 key 现有值的末尾。 如果 key 不存在, APPEND 就简单地将键 key 的值设为 value , 就像执行 SET key value 一样。 追加 value 之后, 键 key 的值的长度

Parameters

string $key
string $value

Return Value

int

at line 135
int setRange(string $key, int $offset, string $value)

从偏移量 offset 开始, 用 value 参数覆写(overwrite)键 key 储存的字符串值。 不存在的键 key 当作空白字符串处理。 SETRANGE 命令会确保字符串足够长以便将 value 设置到指定的偏移量上, 如果键 key 原来储存的字符串长度比偏移量小(比如字符串只有 5 个字符长,但你设置的 offset 是 10 ), 那么原字符和偏移量之间的空白将用零字节(zerobytes, "\x00" )进行填充。 设置空的数据返回的内容是 , 不能正确显示, 当然也不是空格,可以当做无意义的数据进行截取处理, 尽量避免使用这个字串

Parameters

string $key 设置的键值
int $offset
string $value

Return Value

int

at line 150
int incr(string $key, int $value = 1)

为键 key 储存的数字值加上一。

如果键 key 不存在, 那么它的值会先被初始化为 0 , 然后再执行 INCR 命令。

如果键 key 储存的值不能被解释为数字, 那么 INCR 命令将返回一个错误。

Parameters

string $key
int $value

Return Value

int

at line 167
string incrByFloat(string $key, float $value)

因为浮点数计算可能会产生问题, 这里强制返回 String

Parameters

string $key
float $value

Return Value

string

at line 181
int decr(string $key, int $value = 1)

为键 key 储存的数字值减去一。 如果键 key 不存在, 那么键 key 的值会先被初始化为 0 , 然后再执行 DECR 操作。 如果键 key 储存的值不能被解释为数字, 那么 DECR 命令将返回一个错误。

Parameters

string $key
int $value

Return Value

int

at line 199
string getRange(string $key, int $start, int $end = -1)

返回键 key 储存的字符串值的指定部分, 字符串的截取范围由 start 和 end 两个偏移量决定 (包括 start 和 end 在内)。 负数偏移量表示从字符串的末尾开始计数, -1 表示最后一个字符, -2 表示倒数第二个字符, 以此类推。

Parameters

string $key
int $start
int $end

Return Value

string

at line 210
array mGet($keys, bool $decode = true)

是否进行默认解码

Parameters

$keys
bool $decode

Return Value

array

at line 224
bool setEx(string $key, int $seconds, array|string $value)

设置值并设置过期时间

Parameters

string $key
int $seconds
array|string $value

Return Value

bool

at line 237
bool pSetEx(string $key, int $milliseconds, array|string $value)

设置值并设置过期时间(毫秒)

Parameters

string $key
int $milliseconds
array|string $value

Return Value

bool

at line 251
bool setNx(string $key, array|string $value)

No description

Parameters

string $key
array|string $value

Return Value

bool

at line 263
bool mSet(array $array)

同时为多个键设置值(原子性操作)

Parameters

array $array

需要设置的 key/value

Return Value

bool

at line 279
bool mSetNx(array $array)

当且仅当所有给定键都不存在时, 为所有给定键设置值。 即使只有一个给定键已经存在, MSETNX 命令也会拒绝执行对所有键的设置操作。 MSETNX 是一个原子性(atomic)操作, 所有给定键要么就全部都被设置, 要么就全部都不设置, 不可能出现第三种状态。

Parameters

array $array

Return Value

bool

at line 294
int hDel(string $key, string|array $fields)

删除哈希表 key 中的一个或多个指定域,不存在的域将被忽略。

Parameters

string $key
string|array $fields

Return Value

int 被成功移除的域的数量,不包括被忽略的域

at line 304
bool hExists($key, $field)

No description

Parameters

$key
$field

Return Value

bool

at line 316
mixed hGet(string|int $key, string|int $field, bool $decode = true)

返回哈希表中给定域的值, 支持数组的返回

Parameters

string|int $key
string|int $field
bool $decode

Return Value

mixed

at line 327
array hGetAll($key, bool $decode = true)

No description

Parameters

$key
bool $decode

Return Value

array

at line 341
int hSet(string $key, string|int $field, mixed $value)

设置哈希表 如果是 在事务中运行, 则返回 queue.

Parameters

string $key
string|int $field
mixed $value

Return Value

int

当 HSET 命令在哈希表中新创建 field 域并成功为它设置值时, 命令返回 1 ; 如果域 field 已经存在于哈希表, 并且 HSET 命令成功使用新值覆盖了它的旧值, 那么命令返回 0

at line 355
int hSetNx(string $key, string $field, mixed $value)

当且仅当域 field 尚未存在于哈希表的情况下, 将它的值设置为 value 。 如果给定域已经存在于哈希表当中, 那么命令将放弃执行设置操作。 如果哈希表 hash 不存在, 那么一个新的哈希表将被创建并执行 HSETNX 命令。

Parameters

string $key
string $field
mixed $value

Return Value

int

HSETNX 命令在设置成功时返回 1 , 在给定域已经存在而放弃执行设置操作时返回 0

at line 365
int hLen(string $key)

返回哈希表 key 中域的数量

Parameters

string $key

Return Value

int

at line 377
int hStrLen(string $key, string $field)

返回哈希表 key 中, 与给定域 field 相关联的值的字符串长度(string length)。 如果给定的键或者域不存在, 那么命令返回 0

Parameters

string $key
string $field

Return Value

int

at line 393
int hIncrBy(string $key, string $field, int $value = 1)

为哈希表 key 中的域 field 的值加上增量 increment 。 增量也可以为负数,相当于对给定域进行减法操作。 如果 key 不存在,一个新的哈希表被创建并执行 HINCRBY 命令。 如果域 field 不存在,那么在执行命令前,域的值被初始化为 0 。 对一个储存字符串值的域 field 执行 HINCRBY 命令将造成一个错误。

Parameters

string $key
string $field
int $value 支持科学计数法

Return Value

int

at line 407
string hIncrByFloat(string $key, string $field, float|string $value)

浮点数增加

Parameters

string $key
string $field
float|string $value

需要增加的数据, 支持科学计数法

Return Value

string

因为这个地方计算的时候会出现 0.01 + 0.01 = 0.1999999999 情况出现, 所有不建议使用这个方法

at line 419
array hMGet(string $key, string|array $fields, bool $decode = true)

批量获取数据

Parameters

string $key
string|array $fields
bool $decode 是否进行解码

Return Value

array

at line 430
mixed hMSet($key, array|Arrayable $dictionary)

No description

Parameters

$key
array|Arrayable $dictionary

Return Value

mixed

at line 456
array hScan(string $key, int $cursor = 0, array $options = [])

对于 Hscan 存在的 count 失效的问题可以查看

Parameters

string $key
int $cursor
array $options

Return Value

array

[cursor, list]

at line 466
array hKeys(string $key)

返回哈希表 key 中的所有域

Parameters

string $key

Return Value

array

at line 477
array hVals(string $key)

获取所有值, 支持数组的传入和获取

Parameters

string $key

Return Value

array

at line 488
int lLen($key)

列表的长度

Parameters

$key

Return Value

int

at line 501
array lRange(string $key, int $start = 0, int $stop = -1)

返回列表 key 中指定区间内的元素,区间以偏移量 start 和 stop 指定

Parameters

string $key
int $start
int $stop

Return Value

array

at line 514
bool lTrim(string $key, int $start, int $stop)

保留指定区间内的数据

Parameters

string $key
int $start
int $stop

Return Value

bool

at line 525
int lRem(string $key, int $count, array|string $value)

No description

Parameters

string $key
int $count
array|string $value

Return Value

int

at line 536
mixed lPop($key, bool $decode = true)

左侧移除

Parameters

$key
bool $decode

解码, 因为解码存在性能问题, 建议字符串/Json 不进行解码, 直接拿到外边去进行解码处理

Return Value

mixed

at line 548
mixed lIndex(string $key, int $index)

返回列表 key 中,下标为 index 的元素

Parameters

string $key
int $index

Return Value

mixed

at line 564
bool lInsert(string $key, string $whence, mixed $pivot, mixed $value)

将值 value 插入到列表 key 当中,位于值 pivot 之前或之后。 当 pivot 不存在于列表 key 时,不执行任何操作。 当 key 不存在时, key 被视为空列表,不执行任何操作。

Parameters

string $key
string $whence
mixed $pivot
mixed $value

Return Value

bool

at line 583
bool lSet(string $key, int $index, mixed $value)

设置值

Parameters

string $key
int $index
mixed $value

Return Value

bool

at line 598
int pfAdd(string $key, string|array $elements)

No description

Parameters

string $key
string|array $elements

Return Value

int

at line 610
int pfCount(string|array $key)

HyperLogLog 数据统计 命令返回的可见集合(observed set)基数并不是精确值, 而是一个带有 0.81% 标准错误(standard error)的近似值

Parameters

string|array $key

Return Value

int

at line 623
int pfMerge(string|array $key)

HyperLogLog 数据合并

Parameters

string|array $key

Return Value

int

at line 636
array|null bLPop(string $key, int $timeout = 2)

阻塞式获取

Parameters

string $key
int $timeout

Return Value

array|null

at line 648
array|null bRPop(string $key, int $timeout = 2)

阻塞式获取

Parameters

string $key
int $timeout

Return Value

array|null

at line 660
string|null bRPopLPush(string $source, string $dist, int $timeout = 2)

阻塞式获取

Parameters

string $source
string $dist
int $timeout

Return Value

string|null

at line 675
int lPush(string $key, string|array $values)

将一个或多个值 value 插入到列表 key 的表头 如果有多个 value 值,那么各个 value 值按从左到右的顺序依次插入到表头: 比如说,对空列表 mylist 执行命令 LPUSH mylist a b c ,列表的值将是 c b a 这等同于原子性地执行 LPUSH mylist a 、 LPUSH mylist b 和 LPUSH mylist c 三个命令。

Parameters

string $key
string|array $values

Return Value

int

at line 689
int lPushX(string $key, array|string $values)

将值 value 插入到列表 key 的表头,当且仅当 key 存在并且是一个列表 测试发现参数仅仅支持一个, 因为仅仅支持一个, 如果为数组, 则进行序列化

Parameters

string $key
array|string $values

Return Value

int

at line 703
int rPush(string $key, $values)

将一个或多个值 value 插入到列表 key 的表尾(最右边)。 如果有多个 value 值,那么各个 value 值按从左到右的顺序依次插入到表尾 比如对一个空列表 mylist 执行 RPUSH mylist a b c ,得出的结果列表为 a b c 等同于执行命令 RPUSH mylist a 、 RPUSH mylist b 、 RPUSH mylist c

Parameters

string $key
$values

Return Value

int

at line 716
int rPushX(string $key, string|array $values)

右侧插入, 如果值存在, 则进行赋值, 否则不进行操作 经测试, 这里仅仅支持单值, 不支持数组

Parameters

string $key
string|array $values

Return Value

int

at line 726
mixed rPop(string $key)

右侧移除元素

Parameters

string $key

Return Value

mixed

at line 737
mixed rPopLPush(string $source, string $dist)

右侧移除元素

Parameters

string $source
string $dist

Return Value

mixed

at line 749
int sAdd(string $key, string|array $members)

新增集合元素, 先转为数组, 如果数组内有可序列化元素再进行序列化

Parameters

string $key key
string|array $members 成员

Return Value

int

at line 761
array sDiff($keys)

对比多个 key

Parameters

$keys

Return Value

array

at line 774
int sDiffStore(string $destination, array $keys)

这个命令的作用和 SDIFF key [key …] 类似,但它将结果保存到 destination 集合,而不是简单地返回结果集。

Parameters

string $destination
array $keys

Return Value

int

at line 785
array sInter($keys)

对比多个 key, 取相同的值

Parameters

$keys

Return Value

array

at line 799
int sInterStore(string $destination, array $keys)

这个命令类似于 SINTER key [key …] 命令,但它将结果保存到 destination 集合,而不是简单地返回结果集。 如果 destination 集合已经存在,则将其覆盖。 destination 可以是 key 本身

Parameters

string $destination
array $keys

Return Value

int

at line 810
array sUnion(array $keys)

合并两个数据

Parameters

array $keys

Return Value

array

at line 822
int sUnionStore(string $destination, array $keys)

将对接的数据保存到指定目的地

Parameters

string $destination
array $keys

Return Value

int

at line 832
int sCard(string $key)

返回集合的数量

Parameters

string $key key

Return Value

int

at line 843
array sRandMember(string $key, int $count)

随机返回 count个元素

Parameters

string $key key
int $count 数量

Return Value

array

at line 854
int sRem(string $key, mixed $member)

移除一个或多个元素, 如果是多个元素, 需要用数组进行包裹

Parameters

string $key key
mixed $member 成员

Return Value

int

at line 871
bool sIsMember(string $key, mixed $member)

检测是否是集合内的元素

Parameters

string $key
mixed $member 单个元素

Return Value

bool

at line 881
mixed sPop(string $key)

No description

Parameters

string $key

Return Value

mixed

at line 895
int sMove(string $source, string $dist, mixed $member)

将元素从一个列表移动到另外一个列表 SMOVE 是原子性操作

Parameters

string $source
string $dist
mixed $member

Return Value

int

at line 907
array sScan(string $key, int $cursor = 0, array $options = [])

No description

Parameters

string $key
int $cursor
array $options

Return Value

array

at line 917
array sMembers(string $key)

获取集合的所有成员

Parameters

string $key

Return Value

array

at line 929
int zAdd($key, array $membersAndScoresDictionary)

有序集合

Parameters

$key
array $membersAndScoresDictionary

参数 ['value' => 'score']

Return Value

int

at line 940
string zIncrBy(string $key, mixed $increment, string $member)

No description

Parameters

string $key
mixed $increment
string $member

Return Value

string

at line 949
int zCard($key)

No description

Parameters

$key

Return Value

int

at line 961
int zCount(string $key, mixed $min, mixed $max)

返回有序集 key 中, score 值在 min 和 max 之间(默认包括 score 值等于 min 或 max )的成员的数量

Parameters

string $key
mixed $min
mixed $max

Return Value

int

at line 973
int zLexCount(string $key, string $min, string $max)

对于一个所有成员的分值都相同的有序集合键 key 来说, 这个命令会返回该集合中, 成员介于 min 和 max 范围内的元素数量

Parameters

string $key
string $min
string $max

Return Value

int

at line 983
int zRem(string $key, mixed $member)

No description

Parameters

string $key
mixed $member

Return Value

int

at line 994
int|null zRank(string $key, string $member)

返回成员的排名, 按照score从小到大的排名, 最小为0

Parameters

string $key
string $member

Return Value

int|null

at line 1008
array zRange(string $key, mixed $start, mixed $stop, array $options = [])

返回有序集 key 中,指定区间内的成员。 其中成员的位置按 score 值递增(从小到大)来排序。这里取的是索引值,就是排序的第几个值作为顺序

Parameters

string $key
mixed $start
mixed $stop
array $options

Return Value

array

at line 1022
array zRangeByScore(string $key, int $min, int $max, array $options = [])

返回有序集 key 中,所有 score 值介于 min 和 max 之间(包括等于 min 或 max )的成员。有序集成员按 score 值递增(从小到大)次序排列

Parameters

string $key
int $min
int $max
array $options

Return Value

array

at line 1035
array zRevRangeByScore(string $key, int $min, int $max, array $options = [])

返回有序集 key 中, score 值介于 max 和 min 之间(默认包括等于 max 或 min )的所有的成员。有序集成员按 score 值递减(从大到小)的次序排列

Parameters

string $key
int $min
int $max
array $options

Return Value

array

at line 1047
int zRemRangeByScore(string $key, mixed $start, mixed $stop)

移除有序集 key 中,所有 score 值介于 min 和 max 之间(包括等于 min 或 max )的成员。

Parameters

string $key
mixed $start
mixed $stop

Return Value

int

at line 1060
int zRemRangeByLex(string $key, string $start, string $stop)

根据字符信息移除相关的数据

Parameters

string $key
string $start
string $stop

Return Value

int

at line 1072
int zRemRangeByRank(string $key, int $start, int $stop)

移除有序集 key 中,指定排名(rank)区间内的所有成员

Parameters

string $key
int $start
int $stop

Return Value

int

at line 1084
array zRevRange(string $key, mixed $start, mixed $stop, array $options = [])

No description

Parameters

string $key
mixed $start
mixed $stop
array $options

Return Value

array

at line 1099
array zRangeByLex(string $key, string $start, string $stop, array $options = [])

有序集合的元素会根据成员的字典序(lexicographical ordering)来进行排序 合法的 min 和 max 参数必须包含 ( 或者 [ , 其中 ( 表示开区间(指定的值不会被包含在范围之内), 而 [ 则表示闭区间(指定的值会被包含在范围之内)

Parameters

string $key
string $start
string $stop
array $options

Return Value

array

at line 1110
array zScan(string $key, int $cursor = 0, array $options = [])

No description

Parameters

string $key
int $cursor
array $options

Return Value

array

at line 1120
string|null zScore(string $key, string $member)

No description

Parameters

string $key
string $member

Return Value

string|null

at line 1132
int|null zUnionStore(string $destination, array|string $keys, array $options = [])

计算给定的一个或多个有序集的并集,其中给定 key 的数量必须以 numkeys 参数指定,并将该并集(结果集)储存到 destination

Parameters

string $destination
array|string $keys
array $options

Return Value

int|null

at line 1145
int|null zInterStore(string $destination, array|string $keys, array $options = [])

计算给定的一个或多个有序集的交集,其中给定 key 的数量必须以 numkeys 参数指定,并将该交集(结果集)储存到 destination 。

Parameters

string $destination
array|string $keys
array $options

Return Value

int|null

at line 1157
int|null zRevRank(string $key, string $member)

反向的进行验证Rank

Parameters

string $key
string $member

Return Value

int|null

at line 1170
bool geoAdd(string $key, string|float $longitude, string|float $latitude, string $member)

添加用户地址位置

Parameters

string $key key
string|float $longitude 经度
string|float $latitude 纬度
string $member 成员

Return Value

bool

at line 1181
array|null geoPos(string $key, array|string $members)

获取用户地理位置

Parameters

string $key key
array|string $members 用户列表

Return Value

array|null

at line 1194
string|null geoDist(string $key, int|mixed $member1, int|mixed $member2, string $unit = 'm')

计算两个位置距离

Parameters

string $key key
int|mixed $member1 成员1
int|mixed $member2 成员2
string $unit

单位[m:米; km:千米; mi:英里; ft:英尺]

Return Value

string|null

at line 1209
mixed geoRadius(string $key, string|float $longitude, string|float $latitude, string|float $radius, string $unit, array $options = [])

以给定的经纬度为中心, 返回键包含的位置元素当中, 与中心的距离不超过给定最大距离的所有位置元素。

Parameters

string $key key
string|float $longitude 经度
string|float $latitude 纬度
string|float $radius 距离/半径
string $unit

单位 [m;km;mi;ft]

array $options

附加选项[WITHDIST: 返回距离; WITHCOORD: 返回经纬度; WITHHASH:返回hash值; count: 返回数量]

Return Value

mixed

at line 1226
mixed geoRadiusByMember(string $key, string $member, string|float $radius, string $unit, array $options = [])

以给定的元素为中心,与中心的距离不超过给定最大距离的所有位置元素。

Parameters

string $key key
string $member 成员
string|float $radius 距离/半径
string $unit

单位 [m;km;mi;ft]

array $options

附加选项[WITHDIST: 返回距离; WITHCOORD: 返回经纬度; WITHHASH:返回hash值; count: 返回数量]

Return Value

mixed

at line 1239
array geoHash(string $key, mixed $members)

No description

Parameters

string $key
mixed $members

Return Value

array

at line 1250
bool select(string $database)

选择数据库

Parameters

string $database 数据库

Return Value

bool

Exceptions

RedisException

at line 1271
bool disconnect()

断开连接

Return Value

bool

at line 1288
array scan($cursor, array $options = [])

扫描所有key

Parameters

$cursor
array $options

Return Value

array

at line 1304
array|Pipeline pipeline(Closure $closure)

No description

Parameters

Closure $closure

Return Value

array|Pipeline

at line 1314
bool exists($key)

No description

Parameters

$key

Return Value

bool

at line 1325
array sort(string $key, array $options = [])

返回或保存给定列表、集合、有序集合 key 中经过排序的元素

Parameters

string $key
array $options

Return Value

array

at line 1335
string type($key)

返回 key 所储存的值的类型

Parameters

$key

Return Value

string

at line 1344
bool flushDb()

清空当前数据库的所有KEY

Return Value

bool

at line 1353
bool flushAll()

清空整个 Redis 服务器的数据

Return Value

bool

at line 1365
bool rename(string $key, string $target)

重命名

Parameters

string $key 目标KEY
string $target 目标地址

Return Value

bool

at line 1378
bool move(string $key, mixed $db)

将当前数据库的 key 移动到给定的数据库 db 当中

Parameters

string $key
mixed $db

Return Value

bool

Exceptions

RedisException

at line 1399
bool renameNx(string $key, string $target)

不存在时候命名

Parameters

string $key 目标KEY
string $target 目标地址

Return Value

bool

at line 1410
int ttl(string $key)

当 key 不存在时,返回 -2 .当 key 存在但没有设置剩余生存时间时,返回 -1 。 否则,以秒为单位,返回 key 的剩余生存时间

Parameters

string $key

Return Value

int

at line 1420
int pTtl(string $key)

这个命令类似于 TTL 命令,但它以毫秒为单位返回 key 的剩余生存时间,而不是像 TTL 命令那样,以秒为单位

Parameters

string $key

Return Value

int

at line 1431
int persist(string $key)

持久化当前KEY

Parameters

string $key

Return Value

int

at line 1442
bool expire(string $key, int $seconds)

设置有效期

Parameters

string $key key
int $seconds 秒数

Return Value

bool

at line 1453
bool pExpire(string $key, int $milliseconds)

这个命令和 EXPIRE 命令的作用类似,但是它以毫秒为单位设置 key 的生存时间,而不像 EXPIRE 命令那样,以秒为单位

Parameters

string $key
int $milliseconds

Return Value

bool

at line 1462
string randomKey()

返回一个随机KEY

Return Value

string

at line 1472
int dbSize()

返回当前数据库的 key 的数量

Return Value

int

at line 1483
bool expireAt(string $key, int $timestamp)

设置有效期

Parameters

string $key key
int $timestamp 失效时间

Return Value

bool

at line 1494
bool pExpireAt(string $key, int $mill_timestamp)

以毫秒为单位设置过期时间戳

Parameters

string $key
int $mill_timestamp

Return Value

bool

at line 1502
mixed multi()

No description

Return Value

mixed

at line 1511
array|null exec()

执行所有事务块内的命令

Return Value

array|null

at line 1520
mixed discard()

取消事务, 放弃执行事务内的所有命令

Return Value

mixed

at line 1529
mixed watch($key)

取消事务, 放弃执行事务内的所有命令

Parameters

$key

Return Value

mixed

at line 1538
bool unwatch()

取消 WATCH 命令对所有 key 的监视

Return Value

bool

at line 1552
array keys(string $key)

获取key下面的所有key KEYS 匹配数据库中所有 key 。 KEYS h?llo 匹配 hello , hallo 和 hxllo 等。 KEYS hllo 匹配 hllo 和 heeeeello 等。 KEYS h[ae]llo 匹配 hello 和 hallo ,但不匹配 hillo 。

Parameters

string $key 给定的key

Return Value

array

at line 1562
int del(string|array $key)

删除key

Parameters

string|array $key 缓存key

Return Value

int

at line 1583
int setBit(string $key, int $offset, int $value)

设置位图

Parameters

string $key key
int $offset 偏移量
int $value

Return Value

int

at line 1594
int getBit(string $key, int $offset)

获取位图上偏移量的位

Parameters

string $key
int $offset

Return Value

int

at line 1606
int bitCount(string $key, int $start = 0, int $end = -1)

计算给定字符串中,被设置为 1 的比特位的数量

Parameters

string $key
int $start
int $end

Return Value

int

at line 1620
int bitPos(string $key, string $bit, int $start = 0, int $end = -1)

返回位图中第一个值为 bit 的二进制位的位置。 在默认情况下, 命令将检测整个位图, 但用户也可以通过可选的 start 参数和 end 参数指定要检测的范围。

Parameters

string $key
string $bit
int $start
int $end

Return Value

int

at line 1632
array bitField($key, $subcommand, ...$subcommandArg)

No description

Parameters

$key
$subcommand
...$subcommandArg

Return Value

array

at line 1644
int bitOp(string $operation, string $distKey, string $key)

对一个或多个保存二进制位的字符串 key 进行位元操作,并将结果保存到 destkey 上

Parameters

string $operation
string $distKey
string $key

Return Value

int

at line 1660
mixed remember(string $key, int $ttl, Closure $callback)

Get an item from the cache, or execute the given Closure and store the result.

Parameters

string $key
int $ttl
Closure $callback

Return Value

mixed

at line 1685
mixed decode(string|array|null $result)

No description

Parameters

string|array|null $result

Return Value

mixed

at line 1716
void clear(string $glob = '*')

清空所有匹配 KEY

Parameters

string $glob

Return Value

void

at line 1729
string keyName(string|array $key)

key 的名称, 不带有前缀

Parameters

string|array $key

Return Value

string