jak*_*don 11 powershell scripting redis
我们正在尝试编写一个调用外部应用程序的PowerShell脚本 - 一个Redis客户端(redis-cli.exe) - 然后向该.exe发送多个命令.发送如下所示的单个命令没有问题:
& redis-cli -h localhost -p 6379 SMEMBERS someKey
Run Code Online (Sandbox Code Playgroud)
问题是,这将启动Redis客户端,发出单个命令,关闭客户端,然后将控制权返回给PowerShell.我们需要在事务中发出多个命令.例如,以下是我们要发送给客户端的命令:
MULTI
DEL someKey
DEL someSet
EXEC
Run Code Online (Sandbox Code Playgroud)
Redis客户端支持将LUA脚本字符串作为命令发送,但遗憾的是,这不支持MULTI/EXEC事务命令.换句话说,我们需要能够发出如上所列的多个命令.
由于redis-cli似乎从STDIN读取输入,您可以使用如下命令字符串为其提供数组:
'MULTI', 'EXEC' | & redis-cli -h localhost -p 6379
Run Code Online (Sandbox Code Playgroud)
将数组馈入管道不需要使用echo(别名Write-Output).
您还可以先将命令数组存储在变量中:
$cmds = 'MULTI', 'EXEC'
$cmds | & redis-cli -h localhost -p 6379
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
759 次 |
| 最近记录: |