Redis执行lua脚本-Time函数-获取当前时间

这篇具有很好参考价值的文章主要介绍了Redis执行lua脚本-Time函数-获取当前时间。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

演变过程:

TIME 命令返回当前服务器的时间,包含两个条目 Unix 时间戳和这一秒已经过去的微秒数。

eval 
"
local res = redis.call('time');
return res;
" 0 
eval 
"
local current_time = redis.call('TIME')
local unix_timestamp = tonumber(current_time[1])
local milliseconds = tonumber(current_time[2])


return { unix_timestamp, milliseconds }
" 0 
eval 
"
local current_time = redis.call('TIME')
local unix_timestamp = tonumber(current_time[1])
local milliseconds = tonumber(current_time[2])


return unix_timestamp;
" 0 

1、TIME的2个元素

eval 
"
local current_time = redis.call('TIME')
local unix_timestamp = tonumber(current_time[1])
local milliseconds = tonumber(current_time[2])


return milliseconds;
" 0 

如果想要判断两个时间哪个最新,先去比较各自的unix_timestamp

unix_timestamp大的那个时间戳最新

unix_timestamp都一样时,则判断millisecondsmilliseconds大的哪个时间戳最新。

如果都一样,那么两个时间相同。

2、如果在一台单节点的redis服务器上执行time命令,手速快的话应该会出现第一个数值相等,第二个数值不同的情况:

192.168.10.100-docker-redis6377:0>time
1) "1693335411"
2) "355800"

192.168.10.100-docker-redis6377:0>time
1) "1693335411"
2) "714056"

不过呢第二个数值还是第二次执行的大。对于同一个电脑,而且又是单节点的redis,redis也是单线程的,那么必然是后一个出现的结果大了。文章来源地址https://www.toymoban.com/news/detail-681029.html

到了这里,关于Redis执行lua脚本-Time函数-获取当前时间的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 在 Redis 中使用 Lua 脚本执行复杂操作和事务

    在 Redis 中使用 Lua 脚本执行复杂操作和事务 Redis 作为一个高性能的键值存储数据库,它的强大功能远不止于简单的数据存储和检索。Redis 自 2.6 版本起引入了对 Lua 脚本的支持,这意味着你可以在 Redis 服务器上直接运行 Lua 脚本。这一功能为执行复杂的操作和事务提供了强大

    2024年01月25日
    浏览(38)
  • 【100个 Unity实用技能】 | Lua中获取当前时间戳,时间戳和时间格式相互转换、时间戳转换为多久之前

    老规矩,先介绍一下 Unity 的科普小知识: Unity 是 实时3D互动内容创作和运营平台 。 包括 游戏开发 、 美术 、 建筑 、 汽车设计 、 影视 在内的所有创作者,借助 Unity 将创意变成现实。 Unity 平台提供一整套完善的软件解决方案,可用于创作、运营和变现任何实时互动的2D和

    2023年04月09日
    浏览(31)
  • Redis 读写分离 使用redisTemplate执行lua脚本时,报错处理

    项目配置 redis架构 1主2从3哨兵模式 采用了读写分离模式 springboot使用 luttuce 项目使用redisTemplate执行lua脚本 测试代码 大致意思是说 在从节点上执行 写操作(实际上写操作是在lua脚本里面的) 为什么执行lua脚本会只走从节点? 在主从模式下,框架自身应该是可以区分读和写

    2024年02月17日
    浏览(39)
  • Linux之获取系统时间(time函数、gettimeofday函数)

    ①函数功能 :将日历时间参数time转换为一个表示本地当前时间的字符串; ②函数参数 :timer为time()函数获得 ③函数返回值 :返回字符串格式(星期 月 日 小时:分:秒 年); tm结构: ①函数功能 :使用timer的值填充tm结构体,其值会被分解为tm结构,并用本地时区表示;

    2024年02月06日
    浏览(34)
  • 在当前bash(sh)中执行脚本和注册函数

    在研究《管理Python虚拟环境的脚本》时,我们使用了source指令而没有使用sh或者bash来执行脚本,就是因为source指令可以让脚本在当前bash(sh)中执行;而sh或者bash则会新启动一个bash来执行。 我们可以通过下面这个脚本做测试 processInfo: 45322 bash 40883 bash 当前bash的进程ID是40883,新

    2024年01月20日
    浏览(43)
  • 执行Lua脚本后一直查询不到Redis中的数据(附带问题详细排查过程,一波三折)

    这个问题坑惨我了,估计耗费了我两个小时😫,中间走了不少弯路,好在我灵光一闪+GPT给我的灵感否则就栽在这上面了 问题背景 在使用 Redis 实现接口调用次数扣减操作时,发现响应结果一直返回的是 -1,也就是查询不到数据 问题排查过程1 : 经过一段排查,加上GPT的提示

    2024年02月13日
    浏览(38)
  • springboot+redis+mysql+quartz-通过Java操作jedis定时使用lua脚本获取缓存数据并更新数据库

    springboot+redis+mysql+quartz-通过Java操作jedis定时使用lua脚本获取缓存数据并更新数据库 代码讲解:7.1点赞功能-定时持久化到数据库-Java整合lua_哔哩哔哩_bilibili https://www.bilibili.com/video/BV1ZX4y1H7JT/ 代码: blogLike_schedule/like07 · xin麒/XinQiUtilsOrDemo - 码云 - 开源中国 (gitee.com) https://gitee

    2024年02月13日
    浏览(37)
  • python中time方法,生成当前时间年月日时分秒

    在Python中,可以使用time模块中的strftime()方法结合时间格式化字符串来生成当前的年月日时分秒。下面是一个详细解释的示例代码:          在以上代码中,首先使用time.time()方法获取当前的时间戳。然后,使用time.localtime()方法将时间戳转换为本地时间的struct_time对象。

    2024年02月14日
    浏览(27)
  • 【实战】使用Lua脚本怎么清理redis中的数据【实战】使用Lua脚本怎么清理redis中的数据

    首先我们通过hiredis 向redis 中写入了数据,这里我们主要以测试为目的,所以,Key 值设定为毫秒级时间戳。 但是当我们测试完成之后,需要验证实际情况,这里我们直接使用redis-cli 登录数据库看看。 本次测试完成,接下来要结合业务开始测试,需要清理数据库,但是一条一

    2024年02月13日
    浏览(77)
  • Redis之Lua脚本

    目录 Lua脚本 编写Lua脚本  springboot整合redis使用lua Lua脚本        Redis在2.6推出了脚本功能,允许开发者使用Lua语言编写脚本传到Redis中执行。使用脚本的好处如下: 1. 减少网络开销:本来5次网络请求的操作,可以用一个请求完成,原先5次请求的逻辑放在redis服务器上完成。使

    2024年01月23日
    浏览(29)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包