用户在线、离线、忙碌功能设计与实现
摘要:需求:需要在系统中展现,系统中用户的状态。展示用户是否在线、忙碌或者离线。 做法:1. 使用 webSocket 建立链接,通过实时推送用户信息,达到用户状态的更新。2. 当用户登录时自动设置用户状态为上线,并推送用户信息到 前端。3. 当用户离线时自动设置用户状态为离线状态,并推送给前端。4. 通
阅读全文
posted @
2022-09-29 13:54
Ruthless
阅读(994)
推荐(0) 编辑
Redis的持久化方式RDB和AOF的区别
摘要:1.概论使用到Redis做缓存,方便多个业务进程之间共享数据。由于Redis的数据都存放在内存中,如果没有配置持久化,redis重启后数据就全丢失了,于是需要开启redis的持久化功能,将数据保存到磁盘上,当redis重启后,可以从磁盘中恢复数据。 redis提供两种方式进行持久化:RDB(Redi
阅读全文
posted @
2022-09-28 10:53
Ruthless
阅读(1253)
推荐(0) 编辑
Redis-缓存穿透 缓存击穿 缓存雪崩 缓存预热 缓存更新 缓存降级
摘要:在实际生产环境中,缓存的使用规范一直备受重视的,如果使用的不好,很容易遇到缓存穿透、缓存击穿、雪崩等严重异常情景,从而给系统带来难以预料的灾害。 为了避免缓存使用不当带来的损失,我们有必要了解每种异常产生的原因和解决办法,从而做出更好的预防措施。 一 缓存穿透缓存穿透是指客户端请求的数据在缓存中和数
阅读全文
posted @
2022-09-27 13:51
Ruthless
阅读(238)
推荐(0) 编辑
OpenResty+Lua限流实战
摘要:OpenResty+Lua限流实战目录一. 限制并发二. 反向代理三. 内部重定向四. lua初始化五. 限制接口时间窗请求数(非平滑)六. 限制接口时间窗请求数(平滑) a. 桶(无容量) b. 漏桶(有桶容量)七. 令牌桶八. 组合各种limter 一. 限制并发 场景1:按照 ip 限制其并发
阅读全文
posted @
2022-09-19 13:46
Ruthless
阅读(1769)
推荐(0) 编辑
OpenResty实现限流--限频限流
摘要:如何做到API接口防刷 背景目前在做的系统有提供Open API接入,即客户通过API Key接入使用系统功能。所允许接入的API根据功能种类不同所需系统开销有所差异,从技术角度希望对系统增加一些保护措施,避免用户接入使用过程有意或无意高频调用一些API对系统构成压力,从而影响整个系统稳定性。 限制
阅读全文
posted @
2022-09-16 17:16
Ruthless
阅读(1883)
推荐(1) 编辑
nginx并发量优化
摘要:nginx并发量优化 高并发下nginx调优实战(值得收藏)
阅读全文
posted @
2022-09-08 10:15
Ruthless
阅读(64)
推荐(0) 编辑
Lua 面向对象(实现类的创建和实例化、封装、继承、多态)
摘要:--Lua 面向对象(实现类的创建和实例化、封装、继承、多态) --1、Lua面向对象基础 --1.1、Lua类的创建和实例化 --name、age相当于person对象的成员变量,eat()相当于person对象方法 person={name='张三', age=20} function pers
阅读全文
posted @
2022-09-02 14:10
Ruthless
阅读(765)
推荐(0) 编辑
lua list 封装
摘要:-- list索引从1开始 list = {} list.__index = list function list:new() local o = {} setmetatable(o, self) return o end function list:add(item) table.insert(s
阅读全文
posted @
2022-09-02 11:29
Ruthless
阅读(193)
推荐(0) 编辑
lua map 封装
摘要:map = {} local this = map function this:new() o = {} setmetatable(o,self) self.__index = self self.count = 0 return o end -- put在放入数据时,如果放入数据的key已经存在M
阅读全文
posted @
2022-09-02 11:28
Ruthless
阅读(139)
推荐(0) 编辑