午夜免费_欧美一级免费看_欧美日韩一区二区视频在线观看_午夜视频在线_日本特黄a级高清免费大片_成年人黄色小视频

自定义命令

Redis 客户端提供了 rawCommand 方法以供使用自定义命令,可以实现 eval 等脚本命令执行的支持

脚本命令

可用于执行 Redis 脚本等。

1. EVAL 执行 Lua 脚本

调用形式:

$res = $redis->rawCommand([
    'EVAL', 
    "lua script", # lua 脚本
    'keyNums',    # 指定脚本中键名参数的个数
    // 在脚本中所用到的那些 Redis 键(key) 值
    'key1',       # 第 1 个 key 对应的值
    'key2',       # 第 2 个 key 对应的值
    'key3',       # 第 3 个 key 对应的值
    ...           # 多个 key 依次添加即可
    // 在 Lua 中通过全局变量 ARGV 数组访问,
    'arg1',       # 第 1 个附加 arg 参数对应的值
    'arg2',       # 第 2 个附加 arg 参数对应的值
    'arg3',       # 第 3 个附加 arg 参数对应的值
    ...           # 多个 arg 参数依次添加即可
]);

// 获取执行 `Lua` 脚本的调用结果
var_dump($res->getData());

使用示例:

$res = $redis->rawCommand([
    'EVAL', 
    "return {KEYS[1],KEYS[2],ARGV[1],ARGV[2]}",
    '2',
    'key1',
    'key2',
    'first',
    'second'
]);

// 获取执行 `Lua` 脚本的调用结果
var_dump($res->getData());

2. EVALSHA 执行 Lua 脚本

$res = $redis->rawCommand([
    'SCRIPT',
    'LOAD',
    "return 'hello moto'" # lua 脚本
]);

$sha1 = $res->getData(); # SHA1 校验和
var_dump($sha1);

$res = $redis->rawCommand([
    'EVALSHA',
    $sha1,
    '0'
]);
var_dump($res->getData());

3. SCRIPT 查看脚本是否被缓存

// 载入一个脚本
$res = $redis->rawCommand([
    'SCRIPT',
    'LOAD',
    "return 'hello moto'" # lua 脚本
]);
$sha1 = $res->getData(); # SHA1 校验和
var_dump($sha1);

// 查看脚本是否被缓存
$res = $redis->rawCommand([
    'SCRIPT',
    'EXISTS',
    $sha1,
    '0'
]);
var_dump($res->getData()[0]);

// 清空缓存
$res = $redis->rawCommand([
    'SCRIPT',
    'FLUSH'
]);
var_dump($res->getData());

// 再次查看脚本是否被缓存
$res = $redis->rawCommand([
    'SCRIPT',
    'EXISTS',
    $sha1
]);
var_dump($res->getData()[0]);

4. EVAL 从缓存中移除所有脚本

// 清空缓存
$res = $redis->rawCommand([
    'SCRIPT',
    'FLUSH'
]);
var_dump($res->getData());

5. EVAL 杀死当前正在运行的 Lua 脚本

// 杀死当前正在运行的 `Lua` 脚本
$res = $redis->rawCommand([
    'SCRIPT',
    'KILL'
]);
var_dump($res->getData());

6. EVAL 将脚本 script 添加到脚本缓存中,但并不立即执行这个脚本。

// 将脚本 `script` 添加到脚本缓存中,但并不立即执行这个脚本
$res = $redis->rawCommand([
    'SCRIPT',
    'LOAD',
    "return 'hello moto'" # lua 脚本
]);
$sha1 = $res->getData(); # SHA1 校验和
var_dump($sha1);

基本使用

$data = $redis->rawCommand(['set', 'a', '1']);
var_dump($data);

$data = $redis->rawCommand(['get', 'a']);
var_dump($data);

$redis->del('a');

rawCommand将返回一个EasySwoole\Redis\Response对象

object(EasySwoole\Redis\Response)#8 (4) {
  ["status":protected]=>
  int(0)
  ["data":protected]=>
  string(2) "OK"
  ["msg":protected]=>
  NULL
  ["errorType":protected]=>
  NULL
}
object(EasySwoole\Redis\Response)#9 (4) {
  ["status":protected]=>
  int(0)
  ["data":protected]=>
  string(1) "1"
  ["msg":protected]=>
  NULL
  ["errorType":protected]=>
  NULL
}
主站蜘蛛池模板: 91免费看片| 91视频免费在线观看 | 国产伦一区二区三区色一情 | 99久久久国产精品免费无卡顿 | 亚洲黄色录像片 | 91视频免费在线观看 | 91国内免费视频 | 91免费观看网站 | 国产一区二区三区成人 | 国产精品女人久久久久久 | 国产一级在线视频 | 国产成人一区二区三区 | 成人a视频片观看免费 | 久久久久国产一区二区 | 午夜性色a√在线视频观看9 | 91成人在线看 | 日本在线观看www | 亚洲天堂资源在线 | 99精品久久久国产一区二区三 | 国产色拍 | 久久久久久久久久久亚洲 | 精品在线观看视频 | 九色视频在线播放 | 亚洲一区二区三区四区 | 99久久精品久久 | 国产中文一区 | 久久久精品中文字幕 | 久久精品国产一区二区三 | 一本久道竹内纱里奈中文字幕 | 91文字幕巨乱亚洲香蕉 | 国产原创中文av | 99热在线观看精品 | 久久久精品91 | 亚洲视频国产视频 | 国产深夜福利在线观看 | 91伦理在线观看 | 中文精品一区 | 九九热免费精品视频 | 午夜时刻免费实验区观看 | 亚洲高清精品视频 | 91国内在线观看 |