关于Laravel中的Redis如何使用Lua的一点记录

查找关于Redis资料的时候,发现了一篇关于Redis使用Lua脚本的文章:
Redis使用Lua脚本
但是要如何在Laravel实现相关操作却没有找到资料,于是自己动手摸索,在阅读了相关代码
PhpRedisConnection
最后使用如下代码实现:

//返回脚本的sha校验和
$sha_key = Redis::executeRaw(['script', 'load','return "Hello world"']);
//传入sha校验和,及key的个数(这里没有传入参数)
echo Redis::evalsha($sha_key, 0); //打印出Hello world

传入k-v参数的代码如下:

//返回脚本的sha校验和
$sha_key = Redis::executeRaw(['script', 'load','return {KEYS[1],KEYS[2],ARGV[1],ARGV[2]}']);
//调用
$result = Redis::evalsha($sha_key, 2, 'k1', 'k2', 'v1', 'v2'); //返回['k1','k2','v1','v2']

最后,如果要清空所有脚本的sha校验值,则如下:

Redis::executeRaw(['script', 'flush']);

暂时没想到什么应用场景,先做个记录吧

本作品采用《CC 协议》,转载必须注明作者和本文链接
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!