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的数据操作的更多相关文章

  1. Redis进阶实践之八Lua的Cjson在Linux下安装、使用和用C#调用Lua脚本

    一.引言         学习Redis也有一段时间了,感触还是颇多的,但是自己很清楚,路还很长,还要继续.上一篇文章简要的介绍了如何在Linux环境下安装Lua,并介绍了在Linux环境下如何编写L ...

  2. 快速入门Redis调用Lua脚本及使用场景介绍

    Redis 是一种非常流行的内存数据库,常用于数据缓存与高频数据存储.大多数开发人员可能听说过redis可以运行 Lua 脚本,但是可能不知道redis在什么情况下需要使用到Lua脚本. 一.阅读本文 ...

  3. Jedis与Lua脚本结合

    使用Lua脚本的好处    1.减少网络开销:可以将多个请求通过脚本的形式一次发送,减少网络时延和请求次数. 2.原子性的操作:Redis会将整个脚本作为一个整体执行,中间不会被其他命令插入.因此在编 ...

  4. 用C#调用Lua脚本

    用C#调用Lua脚本 一.引言 学习Redis也有一段时间了,感触还是颇多的,但是自己很清楚,路还很长,还要继续.上一篇文章简要的介绍了如何在Linux环境下安装Lua,并介绍了在Linux环境下如何 ...

  5. 使用jedis执行lua脚本

    转: redis学习(十五) 使用jedis执行lua脚本(实现一个对IP的限流) 2018年09月15日 20:07:26 码农-文若书生 阅读数:1609   使用jedis执行lua脚本(实现一 ...

  6. Java调用Lua脚本(LuaJava使用、安装及Linux安装编译)

    依赖包(附件有下载): 包名 类型 操作系统 luajava-1.1.jar jar ALL libluajava-1.1.so .so linux luajava-1.1.dll .dll wind ...

  7. 调用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 ...

  8. 新姿势!Redis中调用Lua脚本以实现原子性操作

    背景:有一服务提供者Leader,有多个消息订阅者Workers.Leader是一个排队程序,维护了一个用户队列,当某个资源空闲下来并被分配至队列中的用户时,Leader会向订阅者推送消息(消息带有唯 ...

  9. 使用redis调用lua脚本的方式对接口进行限流

    java端实现: //初始化一个redis可执行的lua DefaultRedisScript<List> defaultRedisScript = new DefaultRedisScr ...

随机推荐

  1. learning makefile grammar

  2. 如何把已有SQLSERVER数据库更名而且附加到数据库中?

    如何把已有SQLSERVER数据库更名而且附加到数据库中? 例如:已有数据库:zrmaa,希望更名为jjsh 特别提醒:数据库名中不能加入下划线,因为数据库日志文件有下划线. 把数据库文件mdf和数据 ...

  3. 跟随我在oracle学习php(4)

    制作html表单 客户端(每个用户的计算机)在浏览网页时,都会向服务器(后台)端索要数据,然后将得 到的数据呈现在浏览器当中.除了索要数据之外,有时客户端也希望能够向服务器端发送 一些数据. 这时我们 ...

  4. jQ如何选中被选中的单选按钮的值

    alert($("label input[name=logintpye]:checked").val());

  5. 3、调试AngularJs

    1.获取Angular元素: angular.element(document.querySelector('html')); a.ele.scope()  提取它的$scope对象 b.ele.co ...

  6. open live writer安装教程和账号配置

    第一步:Open Live Writer软件下载.官方地址:http://openlivewriter.org/ 第二步:双击安装文件(OpenLiveWriterSetup.exe),然后点击下一步 ...

  7. keil项目的调试与编译

    编译: Translate===编译单个文件 Build====编译当前项目,如果该项目先前编译过1次,并且文件没有编辑改动,则点击时不会重新编译 Rebuild===重新编译,每点击一次就重新编译. ...

  8. 定义action的允许访问方式

    publicfunction behaviors() { return[ 'verbs'=>[ 'class'=>VerbFilter::className(), 'actions'=&g ...

  9. Apache Hive处理数据示例

    继上一篇文章介绍如何使用Pig处理HDFS上的数据,本文将介绍使用Apache Hive进行数据查询和处理. Apache Hive简介 首先Hive是一款数据仓库软件 使用HiveQL来结构化和查询 ...

  10. Keil生成汇编文件、bin文件

    // 生成汇编文件:$K\ARM\ARMCC\bin\fromelf.exe --text -a -c --output=@L_asm.txt "!L" // 生成bin文件:$K ...