time和date两个函数在Lua中实现所有的时钟查询功能。函数time在没有参数时返回当前时钟的数值。(在许多系统中该数值是当前距离某个特定时间的秒数。)当为函数调用附加一个特殊的时间表时,该函数就是返回距该表描述的时间的数值。这样的时间表有如下的区间: year a full year mont
转载
2018-01-16 11:39:00
239阅读
2评论
now=os.date("*t") --tablefor i,v in pairs(now) do print(i,v)endnow=os.date("%y-%m-%d %I:%M:%S")print(now) now=os.date("%Y-%m-%d %H:%M:%S")print(now) s ...
转载
2021-10-20 10:57:00
159阅读
2评论
view sourceprint?void *lua_newuserdata (lua_State *L, size_t size);这个API一目了然, 创建好的userdata会被妥善安置在lua stack的顶部.这里有一个很有趣的地方, 就是我们能够申请一段由lua管理的内存, 我听说lua的gc还是蛮不错的, 如果我可以把许多内存管理的工作扔给lua, 那真是太好了. 另一方
转载
2024-05-23 18:26:50
44阅读
LUA是语言,那么一定有编写的工具。第一次学,那么就用LFW(lua for windows)。我相信你的电脑系统是Windows。它包括:1. Lua Interpreter(Lua解释器)
2. Lua Reference Manual(Lua参考手册)
3. Quick Lua Tour (Lua快速入门)
4. Examples (Lua范例)
5. Libraries
转载
2024-08-21 20:19:30
59阅读
需要完成功能借助redis Stream 数据结构实现消息队列,异步完成订单创建,其中涉及到了缓存(击穿,穿透,雪崩),锁(Redisson),并发处理,异步处理,Lua脚本IDE:IDEA 2022 1、读取库存数据 【Lua】 2、判断库存 【Lua】3、扣减库存 【Lua】4、创建队列和组 【Java】5、发送队列消息
转载
2023-05-25 11:08:29
267阅读
RedisTemplate执行lua脚本在Redis集群模式下报错EvalSha is not supported in cluster environment.异常信息:org.springframework.dao.InvalidDataAccessApiUsageException: EvalSha is not supported in cluster environment.
at o
转载
2023-06-27 23:58:48
411阅读
目录一、介绍二、安装和引用三、常用的方法01 判断类型02 转换类型03 操作数组04 遍历集合05 函数(防抖、节流) 一、介绍lodash是一个JS库,一个让javascript使用起来更简单的工具,它可以对Number,String,Object,Array等进行简单或复杂的操作,减少代码量二、安装和引用$ npm i -g npm
$ npm i --save lodash项目中引用co
转载
2024-10-04 13:30:28
64阅读
time模块:是python最为基础的时间模块。1、时区UTC 0时区
中国 东八区:上海(是最标准的时间,北京时间是政治需要)2、瞬秒61秒:地球自转偏差导致的多出的1秒。3、时间戳1970年1月1日0:00
距离上面这个时间过了多少秒。4、夏令时夏令时也叫日光时,是人为的,为了节省能源,每年夏天人工将时间调早1个小时。
例如:夏天9:00上班(实际8:00),5:00下
转载
2024-07-15 20:22:01
28阅读
目录1970世界时区划分CodeISO-8601java8转换String <> LocalDateTimestamp <> LocalDateTime运算LocalDateTime计算时间差 字符串做运算Duration类ChronoUnit类Date与LocalDateTime、LocalDate、LocalTime互转java 7早期使用的是格林尼治时间(G
转载
2024-09-26 09:40:18
96阅读
为了保证数据的争用安全,通常要采用锁机制控制。如果是单应用部署,直接通过synchronized关键字修改方法,就能解决,但是如果是分布式的部署 该方法就不能解决这个问题啦,此时就引出了一个分布式锁的概念。常用的分布式锁的实现方式有三种:基于数据库乐观锁(CAS)来实现;基于 Redis 来实现;基于 ZooKeeper 来实现。本文介绍:基于 Redis 和 Lua 脚本实现分布式锁功能。一、为
转载
2023-09-03 13:19:11
127阅读
客户端读写超时读写超时时间设置得过短命令本身就比较慢客户端与服务端网络不正常redis自身发生堵塞客户端连接超时连接超时时间设置过短redis发生阻塞,造成tcp-backlog 已满,造成新的连接失败客户端与服务端网络不正常客户端缓冲区异常输出缓冲区满,例如将普通客户端的输出缓冲区设置为1M 1M 60;config set client-output-buffer-limit "normal
转载
2023-08-15 17:30:17
100阅读
Lua脚本执行redis指令报错【java.lang.IllegalStateException】问题出现背景今天在学习redis时,为了让redis的多条指令(取锁、比锁、释放锁)保障原子性,我通过使用一个lua脚本统一去执行redis的的多条指令。在执行lua脚本时报错问题说明问题复现 这是我的lua脚本-- 获取锁的key,即: KEY_PREFIX + name
local key = K
转载
2023-08-15 20:08:08
119阅读
为啥用redis呢(只是此处的使用原因): 因为redis是一个内存数据库,效率高; redis支持事务; redis
转载
2023-05-29 15:52:01
238阅读
1,redis加入了lua虚拟机,可以执行lua脚本。为复杂的redis操作提供了解决方案。性能方面也不错。2,lua执行是原子性。3,redis加入 lua是一件伟大的事情。 以前使用redis lua脚本。只是解决一些简单的事情。这次需要处理复杂的事情。遇到了很多问题。1,方法的定义。 这次lua脚本
转载
2023-09-18 22:16:18
183阅读
原本以为自己对redis命令还蛮熟悉的,各种数据模型各种基于redis的骚操作。但是最近在使用redis的scan的命令式却踩了一个坑,顿时发觉自己原来对redis的游标理解的很有限。所以记录下这个踩坑的过程,背景如下:公司因为redis服务器内存吃紧,需要删除一些无用的没有设置过期时间的key。大概有500多w的key。虽然key的数目听起来挺吓人。但是自己玩redis也有年头了,这种事还不是手
转载
2023-07-04 10:40:52
232阅读
开篇Redis 中使用 lua 脚本编写的任务,可以将保证其执行任务的原子性,这里我整理了 3 个常用的lua脚本。简单的限流累计行为限制延迟任务脚本案例案例 1:简单的限流作用:N秒内最多执行多少次人数。--获取KEYlocal k = KEYS[1]--次数local mt = tonumber(ARGV[1] or '3')-- 过期时间,单位是 秒local expire = t
转载
2023-10-14 00:43:54
191阅读
缓存击穿作为缓存,受到内存大小限制,可能:key 超过了过期时间key 被 LRU LFU 清掉了因为某些 key 不在 redis 里面了,大量并发来找这个 key 的时候,这时候客户端去直接请求数据库,这就是击穿。这个问题怎么解决? 只要发现某个key不存在,就让所有对这个key的请求去抢一把锁。也就是说, 让第一个找key的请求,执行一个setnx,类似于放一把锁。只有获得锁的人才能去数据库
转载
2024-02-18 20:21:03
58阅读
redis集群搭建请自行百度redis cluster tutorial :https://redis.io/topics/cluster-tutorialredis中lua的应用:https://segmentfault.com/a/1190000007892988已有redis (3.2.5)集群如下图:tips:请注意命令中的端口变化先连接某个实例,设置key,执行如下命令,key中带了ha
转载
2023-05-25 16:25:00
132阅读
EVAL、EVALSHA命令Redis从2.6.0版本开始提供了eval命令,通过内置的Lua解释器,可以让用户执行一段Lua脚本并返回数据。因为Redis单线程模型的特点,可以保证多个命令的原子性(因为最近的项目才想到用Lua),详细的使用方法请移步官方文档。脚本性能 Redis保证了脚本执行的原子性,所以在当前脚本没执行完之前,别的命令和脚本都是等待状态,所以一定要控制好脚本中的内容,防止出现
转载
2024-04-02 20:00:54
50阅读
redis-2.6支持通过EVAL命令来执行lua脚本,对lua脚本的支持扩展了redis的应用场景,redis支持路脚本需要做2件事redis能执行lua脚本在lua脚本里能执行redis的命令接下来,我将通过一个简单的实例来解析redis如何完成上述两个工作的。 构建一个简单的redis#define DICT_SIZE 100
struct redisDict {
char*
原创
2023-05-08 14:24:01
323阅读