玖叶教程网

前端编程开发入门

Nginx Lua编程-实战案例

案例一:Nginx+Redis进行分布式访问统计

得益于Nginx的高并发性能和Redis的高速缓存,基于Nginx+Redis实现的受访统计架构设计比纯Java实现的受访统计架构设计,在性能上高处很多。

Redis之Lua脚本:原子性的执行exsits&incr

Redis提供的命令虽然不少, 但是严格的说计算能力还是比较有限的. 好在Redis2.6版本后引入Lua脚本, 大大增强了这方面的计算能力. 最重要的是执行lua脚本还具备原子性, 所以在对一致性要求高的环境下, lua脚本或许是个不错的选择.本文通过具体的场景来简介下lua脚本的使用.这里,我们基于Springboot框架的RedisTemplate来操作redis.

Redis 和 SpringBoot 的绝佳组合:Lua 脚本的黑科技!

来源:blog.csdn.net/Mrxiao_bo/article/details/133783127

踩坑之RedisTemplate执行Lua脚本

1、背景

有时候,我们需要一次性操作多个 Redis 命令,但是 这样的多个操作不具备原子性,而且 Redis 的事务也不够强大,不支持事务的回滚,还无法实现命令之间的逻辑关系计算。所以,一般在开发中,我们会利用 lua 脚本来实现 Redis 的事务。

红包雨中,Redis 和 Lua 的邂逅

2018年,王思聪的冲顶大会,西瓜视频的百万英雄

Redis 和 SpringBoot 绝佳组合:Lua 脚本的黑科技!


第一部分:Lua脚本简介

《河洛群侠传》新版感悟天赋树解析

《河洛群侠传》经过多次的更新和修复BUG之后天赋感悟系统已经和一起大不相同了,很多玩家都发现了这一个现象,那么新版的感悟天赋树怎么样呢?今天小编就来给大家带来玩家“binarizer”分享的新版感悟天赋树解析,希望能对大家有所帮助。

新版感悟天赋树解析

分布式限流之Nginx+Lua实现

Lua 代码:

local locks = require "resty.lock"

local function acquire()
    local lock =locks:new("locks")
    local elapsed, err =lock:lock("limit_key") --互斥锁
    local limit_counter =ngx.shared.limit_counter --计数器

    local key = "ip:" ..os.time()
    local limit = 5 --限流大小
    local current =limit_counter:get(key)

    if current ~= nil and current + 1> limit then --如果超出限流大小
       lock:unlock()
       return 0
    end
    if current == nil then
       limit_counter:set(key, 1, 1) --第一次需要设置过期时间,设置key的值为1,过期时间为1秒
    else
        limit_counter:incr(key, 1) --第二次开始加1即可
    end
    lock:unlock()
    return 1
end
ngx.print(acquire())

nginx中使用lua访问redis数据库

目标

使用在nginx中使用lua访问redis数据库。不需要安装lua环境。

安装依赖环境

yum -y install gcc zlib zlib-devel pcre-devel openssl openssl-devel

安装LuaJIT

好未来轻舟业务网关性能提升之旅

什么是轻舟业务网关

<< 1 2 3 4 5 6 > >>
控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言