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
相关推荐
CodeByV5 分钟前
【C++】C++11:右值引用和移动语义
开发语言·c++
一水鉴天10 分钟前
整体设计 全面梳理复盘 之37 元级自动化引擎三体项目(Designer/Master/Transformer)划分确定 + 自用规划工具(增强版)
开发语言·算法·transformer·公共逻辑
自学互联网23 分钟前
python爬虫入门案例day05:Pexels
开发语言·爬虫·python
头发还没掉光光28 分钟前
C/C++类型转换
c语言·开发语言·c++
馨谙36 分钟前
RHEL 存储堆栈完全解析:从硬件到应用的存储管理指南
服务器·开发语言·php
二川bro1 小时前
第38节:WebGL 2.0与Three.js新特性
开发语言·javascript·webgl
hoiii1871 小时前
设置Redis在CentOS7上的自启动配置
数据库·redis·缓存
爬山算法1 小时前
Redis(122)Redis的版本更新如何进行?
数据库·redis·bootstrap
MediaTea1 小时前
Python 第三方库:Markdown(将文本渲染为 HTML)
开发语言·前端·python·html
Halo_tjn1 小时前
Java 基于分支和循环结构的专项实验
java·开发语言·计算机