用Jedis调用Lua脚本来完成redis的数据操作
1、先完成一个简单的set/get操作
package com.example.HnadleTaskQueue;
import redis.clients.jedis.Jedis;
import java.util.ArrayList;
import java.util.List;
public class Handler {
public static void main(String[] args) throws InterruptedException {
Jedis jedis = jedis = new Jedis("localhost");
List<String> keys = new ArrayList<String>();
keys.add("name");
keys.add("age");
List<String> values = new ArrayList<String>();
values.add("jane");
values.add(");
Object result = jedis.eval("return redis.call('mset', KEYS[1], ARGV[1], KEYS[2], ARGV[2])", keys, values);
System.out.println(result);
values.clear();
Object getResult = jedis.eval("return redis.call('mget', KEYS[1], KEYS[2])", keys, values);
List<String> retList = (List<String>) getResult;
for (String ret : retList) {
System.out.println(ret);
}
}
}
用Jedis调用Lua脚本来完成redis的数据操作的更多相关文章
- Redis进阶实践之八Lua的Cjson在Linux下安装、使用和用C#调用Lua脚本
一.引言 学习Redis也有一段时间了,感触还是颇多的,但是自己很清楚,路还很长,还要继续.上一篇文章简要的介绍了如何在Linux环境下安装Lua,并介绍了在Linux环境下如何编写L ...
- 快速入门Redis调用Lua脚本及使用场景介绍
Redis 是一种非常流行的内存数据库,常用于数据缓存与高频数据存储.大多数开发人员可能听说过redis可以运行 Lua 脚本,但是可能不知道redis在什么情况下需要使用到Lua脚本. 一.阅读本文 ...
- Jedis与Lua脚本结合
使用Lua脚本的好处 1.减少网络开销:可以将多个请求通过脚本的形式一次发送,减少网络时延和请求次数. 2.原子性的操作:Redis会将整个脚本作为一个整体执行,中间不会被其他命令插入.因此在编 ...
- 用C#调用Lua脚本
用C#调用Lua脚本 一.引言 学习Redis也有一段时间了,感触还是颇多的,但是自己很清楚,路还很长,还要继续.上一篇文章简要的介绍了如何在Linux环境下安装Lua,并介绍了在Linux环境下如何 ...
- 使用jedis执行lua脚本
转: redis学习(十五) 使用jedis执行lua脚本(实现一个对IP的限流) 2018年09月15日 20:07:26 码农-文若书生 阅读数:1609 使用jedis执行lua脚本(实现一 ...
- Java调用Lua脚本(LuaJava使用、安装及Linux安装编译)
依赖包(附件有下载): 包名 类型 操作系统 luajava-1.1.jar jar ALL libluajava-1.1.so .so linux luajava-1.1.dll .dll wind ...
- 调用Lua脚本print(xxx)报attempt to call a nil value (global 'print')错误
在自己程序里调用Lua脚本print(xxx) 报出attempt to call a nil value (global 'print')错误 解决方法: luaopen_base(L); 或者 l ...
- 新姿势!Redis中调用Lua脚本以实现原子性操作
背景:有一服务提供者Leader,有多个消息订阅者Workers.Leader是一个排队程序,维护了一个用户队列,当某个资源空闲下来并被分配至队列中的用户时,Leader会向订阅者推送消息(消息带有唯 ...
- 使用redis调用lua脚本的方式对接口进行限流
java端实现: //初始化一个redis可执行的lua DefaultRedisScript<List> defaultRedisScript = new DefaultRedisScr ...
随机推荐
- learning makefile grammar
- 如何把已有SQLSERVER数据库更名而且附加到数据库中?
如何把已有SQLSERVER数据库更名而且附加到数据库中? 例如:已有数据库:zrmaa,希望更名为jjsh 特别提醒:数据库名中不能加入下划线,因为数据库日志文件有下划线. 把数据库文件mdf和数据 ...
- 跟随我在oracle学习php(4)
制作html表单 客户端(每个用户的计算机)在浏览网页时,都会向服务器(后台)端索要数据,然后将得 到的数据呈现在浏览器当中.除了索要数据之外,有时客户端也希望能够向服务器端发送 一些数据. 这时我们 ...
- jQ如何选中被选中的单选按钮的值
alert($("label input[name=logintpye]:checked").val());
- 3、调试AngularJs
1.获取Angular元素: angular.element(document.querySelector('html')); a.ele.scope() 提取它的$scope对象 b.ele.co ...
- open live writer安装教程和账号配置
第一步:Open Live Writer软件下载.官方地址:http://openlivewriter.org/ 第二步:双击安装文件(OpenLiveWriterSetup.exe),然后点击下一步 ...
- keil项目的调试与编译
编译: Translate===编译单个文件 Build====编译当前项目,如果该项目先前编译过1次,并且文件没有编辑改动,则点击时不会重新编译 Rebuild===重新编译,每点击一次就重新编译. ...
- 定义action的允许访问方式
publicfunction behaviors() { return[ 'verbs'=>[ 'class'=>VerbFilter::className(), 'actions'=&g ...
- Apache Hive处理数据示例
继上一篇文章介绍如何使用Pig处理HDFS上的数据,本文将介绍使用Apache Hive进行数据查询和处理. Apache Hive简介 首先Hive是一款数据仓库软件 使用HiveQL来结构化和查询 ...
- Keil生成汇编文件、bin文件
// 生成汇编文件:$K\ARM\ARMCC\bin\fromelf.exe --text -a -c --output=@L_asm.txt "!L" // 生成bin文件:$K ...