0
Redisドキュメントごとに、EXPIREATはキーが削除される時刻を指定する引数としてunixtimeを受け入れます。 2016年5月2日12:45に2016年5月2日12:47 - 時間のために、BB上で実行Redis ExpireAtが期待どおりに動作しない
127.0.0.1:6379> set bb bb
OK
127.0.0.1:6379> EXISTS bb
(integer) 1
127.0.0.1:6379> TTL bb
(integer) -1
127.0.0.1:6379> EXPIREAT bb 1462173420000 //executed at 1462173300000 ====>>> 1
(integer) 1
127.0.0.1:6379> EXISTS bb //executed after 1462173420000
(integer) 1 =============>>> 2
127.0.0.1:6379> TTL bb
(integer) 1460711246668
127.0.0.1:6379> TTL bb
(integer) 1460711246663
127.0.0.1:6379> EXPIREAT bb 100
(integer) 1 ===================>> 3
127.0.0.1:6379> EXISTS bb
(integer) 0 ===================>> 4
EXPIREAT:私はRedisの-CLIで次のコマンドを実行
。
2016年5月2日12:47 PM以降も、キーは引き続き終了します。 なぜこれが起こっていますか?
EXPIREATが無効なunixtime - 100を受け入れるのはなぜですか?
感謝。 PEXPIREATを使うことができました。これはEXPIREATと同じですが、代わりにこの要件に適合する引数としてミリ秒かかります。 –
これはなぜ動作しますか?> EXPIREAT bb 100 (整数)1 ?? 100はunix time 1/1/1970です。なぜこのキーが期限切れですか? –
Redisによると、それは単なる値であり、現在の時間よりも短くなっています。そしてすぐに期限切れになります。場合によっては、キーを直ちに期限切れにしたい場合があります。そのような場合は、これを達成するために、より少ない価値を使用することができます。 –