Redis lua脚本 采坑实践

本文探讨了在lua脚本中避免耗时较长的Redis命令,如keys和scan,以减少对业务性能的影响。建议将脚本执行时间控制在50毫秒内,并关注大key问题,如字符串过长、成员数量过多等。还提供了阿里云关于大key的判断标准和实例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

lua 中的慎用的命令

redis 中一些命令耗时比较长,个人理解属于运维使用的命令
例如 keys
scan

业务中切记 不要使用这些命令

特别是 在lua 脚本中,由于lua 在redis执行的原子性, scan 命令也会随着key 的数量 耗时逐渐增大

lua 脚本性能的影响

lua 脚本一旦耗时比较长,就会影响redis 的其他命令执行,进而影响整个业务。

lua 的脚本 建议耗时需要控制在50 毫秒之内。

尽可能的避免大key

阿里云给出的大key 标准参考:

通常以Key的大小和Key中成员的数量来综合判定,例如:
Key本身的数据量过大:一个String类型的Key,它的值为5 MB。
Key中的成员数过多:一个ZSET类型的Key,它的成员数量为10,000个。
Key中成员的数据量过大:一个Hash类型的Key,它的成员数量虽然只有1,000个但这些成员的Value(值)总大小为100 MB。

参考:

https://blog.youkuaiyun.com/u013474436/article/details/88808914

提供java springboot 集成Redis 执行复杂lua 的技术原型项目

项目包含lua 接收复杂的java数据结构,list、map

lua 脚本直接读取Redis 中的数据

lua 脚本原子性执行业务逻辑。

粉丝技术咨询免费,代码有偿。

技术方案背景为 多人网盘的数据一致性方案。

如需咨询私信联系。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值