Skip to content

Commit

Permalink
Update: 更新文档
Browse files Browse the repository at this point in the history
  • Loading branch information
NHZEX committed Mar 29, 2024
1 parent 7c624f1 commit bbae0da
Showing 1 changed file with 24 additions and 9 deletions.
33 changes: 24 additions & 9 deletions doc/components/redis/function.md
Original file line number Diff line number Diff line change
Expand Up @@ -88,11 +88,9 @@ SCRIPT

imi 提供的通过类定义 LUA 脚本的方式,可以更好的管理和复用 LUA 脚本。

***定义***
***普通定义***

```php
declare(strict_types=1);

use Imi\Redis\RedisLuaScript;

class TestEvalScript1 extends RedisLuaScript
Expand All @@ -114,11 +112,9 @@ class TestEvalScript1 extends RedisLuaScript
LUA;
}
}
```

***使用***
// ==== 使用 ====

```php
use Imi\Redis\IRedisHandler;

/** @var IRedisHandler $redis */
Expand All @@ -130,12 +126,31 @@ $result = $script->invoke($redis, ['imi-script:key1', 'imi-script:key2'], 'val1'
$script->withReadOnly()->invoke($redis, ['imi-script:key1', 'imi-script:key2'], 'val4', 'val5');
```
***快速定义并使用***
```php
use Imi\Redis\RedisLuaScript;
/** @var IRedisHandler $redis */
$script = RedisLuaScript::fastCreate(
script: <<<'LUA'
-- 从工作队列删除
redis.call('zrem', KEYS[1], ARGV[1])
redis.call('rpush', KEYS[2], ARGV[1])
return true
LUA,
keyNum: 2,
);
$script->invoke($redis, ['{imi:work}:queue', '{imi:work}:doing']);
```
> 注意**cluster**模式下使用时必须确保所以`key`都命中同一`node`,否则会导致执行失败。
> 注意**只读执行**环境条件:
> redis >= 7.0
> phpredis >= 6.0
> predis >= 2.2 (cluster 模式下存在 bug,待扩展修复才能使用)
> - redis >= 7.0
> - phpredis >= 6.0
> - predis > 2.2.2 (版本`<= 2.2.2``cluster`模式存在`bug`,待扩展新版本发布才能使用)
### SCAN系列方法
Expand Down

0 comments on commit bbae0da

Please sign in to comment.