【问题标题】:Redis wrong EXPIRE in MULTIRedis 在 MULTI 中错误 EXPIRE
【发布时间】:2021-11-03 17:17:21
【问题描述】:

使用 Redis,此脚本失败:

multi
sadd 1 1
expire 1 100
exec
smembers 1
...
(empty list or set)

它说集合是空的。 我将过期时间设置为 100 秒,这对于在几分之一秒内运行的脚本来说已经绰绰有余了。 如果我将过期时间设置为 200 秒,它会起作用:

multi
sadd 1 1
expire 1 200
exec
smembers 1
...
1) "1"

另一点:如果我删除 MULTI 它也可以:

sadd 1 1
expire 1 100
smembers 1
...
1) "1"

我在 Raspberry PI 上执行它。是时钟问题吗? 我使用 Redis docker 6.0 版。

编辑: 这看起来很可疑:

$ date
Mon Sep  6 18:41:13 CEST 2021
$ docker exec -it redis date
Thu May 21 19:18:40 CEST 2071

【问题讨论】:

    标签: docker redis raspberry-pi


    【解决方案1】:

    似乎与这个问题有关: corrupt date with redis:6-alpine on RasPi

    这是由于我们的 Raspbian 中 libseccomp 的旧版本...与新版本的 Redis 冲突。

    使用稍旧版本的 redis 即可,例如 redis:6.0.6-alpine3.12。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-12-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-06-29
      • 2012-07-03
      • 2011-06-25
      • 1970-01-01
      相关资源
      最近更新 更多