const Redis = require("ioredis");
const redis = new Redis({
port: 6300, // Redis port
host: '192.168.50.111', // Redis host
password: '123',
db: 0,
});

 1.第一种执行lua脚本的方式

const result3 = redis.eval(`return redis.call('MSET', KEYS[1],ARGV[1], KEYS[2],ARGV[2])`, 2, ['testKey1', 'testKey2', 'val1', 'val2'])
async function eval() {
let str = await result3;
console.log(str)
// await redis.evalTest('testKey1', 'testKey2', 'val1', 'val2');
const result = await redis.get('testKey1');
const result2 = await redis.get('testKey2');
console.log(result, result2);
}
eval()
执行结果

参照: https://www.runoob.com/redis/scripting-eval.html

参照文档可知道: keys全部写在前面,中间2是key的数量,val值后面排着写

  

2.第二种执行Lua方式

const luaScript = `return redis.call('MSET', KEYS[1],ARGV[1], KEYS[2],ARGV[2])`;

redis.defineCommand("evalTest", {
numberOfKeys: 2,
lua: luaScript,
})
async function eval() {
await redis.evalTest('testKey1', 'testKey2', 'val1', 'val2');
const result = await redis.get('testKey1');
const result2 = await redis.get('testKey2');
console.log(result, result2); // val2
}
eval();
执行结果

  

最新文章

  1. 禁止从别的应用启动Activity
  2. java 实现WebService 以及不同的调用方式
  3. PHP入门教程-开发环境搭建
  4. .Net基础
  5. OpneCV 二值图像区域处理
  6. Ext TreeGrid提交修改过的数据
  7. 《Linux内核设计与实现》读书笔记(七)- 中断处理【转】
  8. 云计算平台(检索篇)-Elasticsearch
  9. sqlserver时间字符串的截取
  10. 强大的Core Image框架,各种滤镜处理图像
  11. 求最小生成树(Prim算法)(1075)
  12. php中常用的字符串格式化函数
  13. 网关 php-cgi fastcgi phpfpm
  14. JavaSE语法基础(3)---函数、数组
  15. 初识gd库
  16. 使用Autoencoder进行降维
  17. 【Linux常用命令】
  18. jetty 客服端 与服务端
  19. (转+整理)C# BinaryFormatter进行序列化与反序列化
  20. JAVA设计模式详解(六)----------状态模式

热门文章

  1. python菜鸟学习: 12. 装饰器的中级用法
  2. sentinel监控数据持久化&本地测试
  3. vue3 门户网站搭建5-图标
  4. Python系统模块os.py和sys.py常用函数
  5. 报错解决OSError: /lib64/libm.so.6: version `GLIBC_2.27' not found
  6. Ehlib的DBGridEh 控件导出到Excel
  7. 关于DVWA踩坑
  8. 操作系统实战45讲笔记- 05 CPU工作模式:程序执行的三种模式
  9. profile2的原理猜想
  10. fetchAll 的小小分析