Lua + Redis 实战代码

复制代码
--[[

    luarocks install luasocket         module 'socket' not found

    https://github.com/nrk/redis-lua

    最历害的是,用redis 去跑lua,分布式锁,限流,

]]--

local redis = require("redis");


local config={host="127.0.0.1",port=6379};
local client = redis.connect(config);


--项目中使用的原子操作
https://blog.csdn.net/kuishao1314aa/article/details/120367618
--eval "local val=redis.call('GET',KEYS[1]);if _G.tonumber(val)>0 then redis.call('DECR',KEYS[1]) end;return true" 1 test-key


local val=client.get('test-key');--1
if _G.tonumber(val) <1 then

    print("没有库存,抢完了");
    os.exit();
else
    client.decr('test-key');
end




--[[
info = client:info();

for k,v in pairs(info.clients) do
    print(k,v);
 end
 ]]--

print(client:get("test-key"));
--print(cliREADMEent:del("test-key"));

--print(client:set("test-key",456));

print(client:incr("test-key"));

print(client:get("test-key"));

for k,v in pairs(redis.commands) do
    print(k,v);
end
相关推荐
夜晚中的人海6 分钟前
【C语言】初阶数据结构相关习题(二)
c语言·开发语言·数据结构
dddaidai12310 分钟前
Redis数据结构
数据结构·redis·hash table
武昌库里写JAVA19 分钟前
MacOS Python3安装
java·开发语言·spring boot·学习·课程设计
Dxy123931021622 分钟前
python如何设置excel单元格边框样式
开发语言·python·excel
chaodaibing39 分钟前
Python解析Excel入库如何做到行的拆分
开发语言·python·excel
文静小土豆43 分钟前
K8S redis 部署
redis·kubernetes·bootstrap
dudly1 小时前
Python类的力量:第五篇:魔法方法与协议——让类拥有Python的“超能力”
开发语言·python
ghost1431 小时前
C#学习第22天:网络编程
开发语言·学习·c#
zhengddzz1 小时前
从卡顿到丝滑:JavaScript性能优化实战秘籍
开发语言·javascript·性能优化
范纹杉想快点毕业1 小时前
以项目的方式学QT开发(三)——超详细讲解(120000多字详细讲解,涵盖qt大量知识)逐步更新!
c语言·开发语言·c++·qt·mysql·算法·命令模式