您当前的位置: 首页 > 慢生活 > 程序人生 网站首页程序人生
workerman-redis-sMove
发布时间:2021-12-29 21:41:44编辑:雪饮阅读()
sMove
将指定成员 member 元素从 source 集合移动到 destination 集合。
SMOVE 是原子性操作。
如果 source 集合不存在或不包含指定的 member 元素,则 SMOVE 命令不执行任何操作,仅返回 0 。否则, member 元素从 source 集合中被移除,并添加到 destination 集合中去。
当 destination 集合已经包含 member 元素时, SMOVE 命令只是简单地将 source 集合中的 member 元素删除。
当 source 或 destination 不是集合类型时返回false。
实例:
<?php
use Workerman\Worker;
use Workerman\Redis\Client;
use Workerman\Connection\TcpConnection;
use Workerman\Timer;
require_once __DIR__ . '/vendor/autoload.php';
$worker = new Worker('http://0.0.0.0:6161');
global $offset;
$worker->onWorkerStart = function() {
global $offset;
$offset=0;
};
$worker->onMessage = function(TcpConnection $connection, $data) {
$redis = new Client('redis://127.0.0.1:6379');
$redis->del(["key1","key2"],function($res) use($redis){
var_dump("del:");
var_dump($res);
$redis->sAdd('key1' , 'member13',function($res) use($redis){
var_dump("add:");
var_dump($res);
$redis->exists("key2",function($res) use($redis){
var_dump("exists:");
var_dump($res);
//destination不存在会自动创建
$redis->sMove('key1', 'key2', 'member13',function($res) use($redis){
var_dump("sMove:");
var_dump($res);
$redis->sMembers('key1', function ($r) {
var_dump("key1:");
var_dump($r);
});
$redis->sMembers('key2', function ($r) {
var_dump("key2:");
var_dump($r);
});
});
});
});
});
};
Worker::runAll();
实例运行时,有http请求时;
[root@localhost workerman]# php index.php start
Workerman[index.php] start in DEBUG mode
----------------------------------------- WORKERMAN -----------------------------------------
Workerman version:4.0.26 PHP version:7.3.31
------------------------------------------ WORKERS ------------------------------------------
proto user worker listen processes status
tcp root none http://0.0.0.0:6161 1 [OK]
---------------------------------------------------------------------------------------------
Press Ctrl+C to stop. Start success.
string(4) "del:"
int(1)
string(4) "add:"
int(1)
string(7) "exists:"
int(0)
string(6) "sMove:"
int(1)
string(5) "key1:"
array(0) {
}
string(5) "key2:"
array(1) {
[0]=>
string(8) "member13"
}
关键字词:workerman,redis,sMove