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
相关推荐
Ricky_Theseus9 小时前
Trie 字典树:前缀匹配利器
开发语言·c#
cui_ruicheng10 小时前
Python从入门到实战(三):流程控制与循环语句
开发语言·python
zh_xuan10 小时前
c++ std::Any 用法
开发语言·c++·any
小杍随笔10 小时前
【Rust全栈项目接入UUID主键实战:从选型到PostgreSQL适配(含v7优化)】
开发语言·postgresql·rust
binbin_5210 小时前
Flutter 调用鸿蒙原生组件:MethodChannel 与 PlatformView 的选择和落地
开发语言·深度学习·flutter·harmonyos
无限的鲜花19 小时前
反射(原创推荐)
java·开发语言
yongche_shi19 小时前
ragas官方文档中文版(五十)
开发语言·python·ai·ragas·如何评估和改进 rag 应用
一路向北he19 小时前
字节钢铁军团--“提供情境,而非控制”
java·开发语言·前端
AI行业学习20 小时前
Notepad++ 官方下载 + 完整安装 + 全套优化配置(2026最新)
开发语言·人工智能·python·前端框架·html·notepad++
大圣编程21 小时前
Python中continue语句的用法是什么?
开发语言·前端·python