mingalevme / predis
此包最新版本(dev-master)没有可用的许可证信息。
predis/predis 的扩展版本 — 增加了基于有序集的伪唯一列表的支持
dev-master
2017-09-29 12:56 UTC
Requires
- predis/predis: ~1.0
Requires (Dev)
- phpunit/phpunit: ~4.8
This package is auto-updated.
Last update: 2024-09-08 01:50:24 UTC
README
predis/predis 的扩展版本 — 增加了基于有序集的伪唯一列表的支持
可用方法
- zrpush($key, $value1, $value2 = null, .., $valueN = null): 将所有指定的值插入到存储在键 $key 的列表的末尾。
- zlpush($key, $value1, $value2 = null, .., $valueN = null): 将所有指定的值插入到存储在键 $key 的列表的头部。
- zlpop($key): 从键 $key 存储的列表中移除并返回第一个元素。
- zrpop($key): 从键 $key 存储的列表中移除并返回最后一个元素。
示例
$client = new \Mingalevme\Predis\Client(); $client->del('queue'); $client->zrpush('queue', '1'); $client->zrpush('queue', '2'); $client->zrpush('queue', '3'); echo "\n\nStep 1\n"; print_r($client->zrange('queue', 0, -1)); $client->zrpush('queue', '1'); $client->zrpush('queue', '2'); $client->zrpush('queue', '3'); echo "\n\nStep 2\n"; print_r($client->zrange('queue', 0, -1)); $client->zlpush('queue', '-1'); $client->zlpush('queue', '-2'); $client->zlpush('queue', '-3'); echo "\n\nStep 3\n"; print_r($client->zrange('queue', 0, -1)); echo "\n\nStep 4\n"; $el = $client->zrpop('queue'); print_r($el); echo "\n\nStep 5\n"; $el = $client->zlpop('queue'); print_r($el); echo "\n\nStep 6\n"; while ($el = $client->zlpop('queue')) { echo "\nvalue: {$el}\n"; echo "list: "; print_r($client->zrange('queue', 0, -1)); }
输出
Step 1
Array
(
[0] => 1
[1] => 2
[2] => 3
)
Step 2
Array
(
[0] => 1
[1] => 2
[2] => 3
)
Step 3
Array
(
[0] => -3
[1] => -2
[2] => -1
[3] => 1
[4] => 2
[5] => 3
)
Step 4
3
Step 5
-3
Step 6
value: -2
list: Array
(
[0] => -1
[1] => 1
[2] => 2
)
value: -1
list: Array
(
[0] => 1
[1] => 2
)
value: 1
list: Array
(
[0] => 2
)
value: 2
list: Array
(
)