gpt4 book ai didi

redis - 在 Redis 的单个命令中使用带 TTL 的 RPUSH

转载 作者:可可西里 更新时间:2023-11-01 11:12:26 25 4
gpt4 key购买 nike

我正在尝试将一个条目推送到 Redis 的列表中,并且还想在每次有新条目进入时更新列表的 TTL。我可以通过简单地调用 EXPIRE“my-list”ttl 来做到这一点雷迪斯。由于我的应用程序正在接收大量流量,我想减少对 redis 的调用次数。

我可以在 Redis 的推送操作期间设置我的 TTL,即 RPUSH "mylist"I1 I2...IN ex "TTL",redis 是否支持这次命令功能。我可以看到它确实支持 String 数据结构。

最佳答案

Redis 没有专门的命令来推送和过期列表,尽管正如您所提到的,它确实有类似字符串数据类型的命令。

应对这一挑战的方法是根据现有的“命令”编写自己的“命令”。但是,您可以使用 EVAL documentation page 中解释的 Lua 脚本,而不是让您的应用程序调用这些命令。 .

Lua 脚本被缓存并在服务器上自动运行。像下面这样的一个可能对您的情况有所帮助 - 它期望获得 key 名称、推送的元素和到期值:

local reply = redis.call('RPUSH', KEYS[1], ARGV[1])
redis.call('EXPIRE', KEYS[1], ARGV[2])
return reply

关于redis - 在 Redis 的单个命令中使用带 TTL 的 RPUSH,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54388389/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com