关于使用 lua 脚本抢红包
2024-10-09 08:13:01
1 java代码
package com.robert.RedisTest; import redis.clients.jedis.Jedis; public class RedisClient { public static void main(String[] args) {
System.out.println(getHongBao());
System.out.println();
} public static void doAppend(StringBuilder script,String expression){
script.append(expression+"\n");
} public static int getHongBao(){
Jedis jedis = new Jedis("localhost", 6379);
jedis.set("name","robert");
StringBuilder script = new StringBuilder();
doAppend(script,"local result = 0");
doAppend(script,"local afterDescNum = redis.call('decr', KEYS[1])");
doAppend(script,"if afterDescNum>=0 then");
doAppend(script,"result=1");
doAppend(script,"else ");
doAppend(script,"result=0");
doAppend(script,"redis.call('set', KEYS[1], 0)");
doAppend(script,"end");
script.append("return result");
Object result = jedis.eval(script.toString(),1,"hongbaoNum");
int flag = Integer.parseInt(String.valueOf(result));
System.out.println(Thread.currentThread().getName()+" : "+flag);
return flag;
}
}
qianghongbao.lua
local result = 0
local afterDescNum = redis.call('decr', KEYS[1])
if afterDescNum>=0 then
result=1
else
result=0
redis.call('set', KEYS[1], 0)
end
return result
最新文章
- 准备阶段-mongodb数据库安装
- C++ Standard-Library Random Numbers
- 【Android开发学习笔记】【第五课】Activity的生命周期-上
- UVa 11752 (素数筛选 快速幂) The Super Powers
- dp和px,那些不得不吐槽的故事——Android平台图
- HttpClient封装
- GridView中日期显示格式
- 绘图——Android绘图基础:Canvas、Paint等
- MySQL错误2003:Can't connect to MySQL server (10060)
- pgjdbc源码分析
- Sublime Text3搭建PHP开发环境
- Centos 7 下 LAMP 部署
- DW课堂练习 用所学的知识去制作一个 (邮箱的注册页面)
- java 面试 -- 4
- 洛谷P3760异或和
- Python isspace() 方法
- 【转】IntelliJ IDEA下自动生成Hibernate映射文件以及实体类
- hihocoder1513 小Hi的烦恼
- Python设计模式之一(单例模式)
- codeforces 121 E. Lucky Array
热门文章
- CSS Sprite雪碧图应用
- [cocos2d-x]深入--几个代表性的类
- VIJOS P1426兴奋剂检查[DP 状态哈希]
- C# Interlocked 笔记
- MySQL数据库的优化(下)MySQL数据库的高可用架构方案
- 032医疗项目-模块三:药品供应商目录模块——供货商药品目录查询功能----------Service层和Action层和调试
- 在 C# App 中嵌入 Chrome 浏览器使用 CefSharp
- [转]git fetch 的简单用法:更新远程代码到本地仓库
- 用opencv的traincascade训练检测器
- mybatis 3.x 缓存Cache的使用