Redis keyに期限付きで値を設定する

Redis keyに期限付きで値を設定する

Redisで、keyに期限付きで値を設定する手順を記述してます。

環境

  • OS MIRACLE LINUX release 8.4 (Peony)
  • Redis 6.0.9

手順

keyに期限付きで値を設定するには、「setex」を使用します。

setex キー名 秒数 値

実際に、有効期限を10秒に設定して、keyに値を設定してみます。

127.0.0.1:6379> setex key1 10 "a"
OK

期限を確認してみます。「ttl」で確認できます。

127.0.0.1:6379> ttl key1
(integer) 8

# 期限が切れると「-2」が返ります。

127.0.0.1:6379> ttl key1
(integer) -2

「10秒」経過すると、値が削除されていることが確認できます。

127.0.0.1:6379> get key1
(nil)

ミリ秒で指定

ミリ秒で指定する場合は「psetex」を使用します。

同じように「10秒」に設定します。

127.0.0.1:6379> psetex key1 10000 "a"
OK

残りの有効期限は「pttl」で確認できます。

127.0.0.1:6379> pttl key1
(integer) 6475

127.0.0.1:6379> pttl key1
(integer) -2

同様に有効期限が切れると、値が削除されます。

127.0.0.1:6379> get key1
(nil)