关于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 协议》,转载必须注明作者和本文链接
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

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