Redisでキーの有効期限を取得する方法 – TTL・PTTLコマンドの使い方
このチュートリアルでは、RedisのTTLコマンドとPTTLコマンドを使用して、キーの有効期限(タイムアウト)を取得する方法を詳しく解説します。有効期限を確認することで、キーがあとどれくらいで削除されるのかを把握でき、キャッシュ管理やデータ運用に役立ちます。
秒単位で有効期限を取得する方法
キーの残り有効期限を秒単位で取得するには、redis-cliでTTLコマンドを使用します。TTLが返す秒数は、キーの「残り生存時間(Time To Live)」を表しており、この時間が経過すると、キーは自動的にデータストアから削除されます。
TTLコマンドの構文
redis host:port> TTL <keyname>
戻り値(出力)
-2 : キーが存在しない場合 -1 : キーは存在するが、有効期限が設定されていない場合 (integer) <残り秒数> : 有効期限が設定されているキーの場合
注意点として、キーが存在しない場合は「-2」、有効期限が設定されていない永続的なキーの場合は「-1」が返されます。実際にRedisへ接続して試した実行例は以下の画像の通りです。
実行例

ミリ秒単位で有効期限を取得する方法
キーの残り有効期限をミリ秒単位で取得したい場合は、PTTLコマンドを使用します。PTTLコマンドはTTLコマンドと動作が非常によく似ていますが、最大の違いは戻り値の単位です。TTLは秒単位で結果を返すのに対し、PTTLはミリ秒単位で結果を返します。より精度の高い期限管理が必要な場面で活用できます。
PTTLコマンドの構文
redis host:port> PTTL <keyname>
戻り値(出力)
-2 : キーが存在しない場合 -1 : キーは存在するが、有効期限が設定されていない場合 (integer) <残りミリ秒数> : 有効期限が設定されているキーの場合
こちらも同様に、redis-cliでの実行例を以下に示します。
実行例

TTLとPTTLの使い分けのポイント
- TTL: 秒単位で十分な精度の場合に使用。可読性が高く、一般的なキャッシュ期限の確認に最適。
- PTTL: ミリ秒レベルの精度が必要な場合や、短期間で失効するキーを扱う場合に使用。
参考資料
- TTLコマンド公式ドキュメント(Redis公式サイト)
- PTTLコマンド公式ドキュメント(Redis公式サイト)
以上、Redisデータストアからキーの有効期限を取得する方法についての解説でした。この記事が役に立ったと感じたら、ぜひコメント欄でご意見を共有したり、他の方にもシェアしていただければ幸いです。
-
Redis HGETALLコマンドの使い方 – ハッシュに含まれるすべてのフィールドと値のペアを一括取得する方法
このチュートリアルでは、Redisのキーに保存されたハッシュ値に含まれるすべてのフィールドと値のペアを取得する方法について解説します。この操作には、RedisのHGETALLコマンドを使用します。 HGETALLコマンドとは HGETALLコマンドは、指定したキーに保存されているハッシュ値に含まれるすべてのフィールドと、それぞれに関連付けられた値を返すコマンドです。 動作のポイントは以下の通りです。 キーが存在しない場合は、空のリストが返されます(エラーにはなりません)。 キーは存在するが、その値がハッシュ型ではない場合は、エラーが返されます。 構文 redis host:port>
-
Redis GEODISTコマンド徹底解説 – 地理空間データの2つのメンバー間の距離を取得する方法
このチュートリアルでは、キーに保存された地理空間値(ジオスペーシャルデータ)の2つのメンバー間の距離を取得する方法について学びます。この目的のために、RedisのGEODISTコマンドを使用します。 GEODISTコマンドとは GEODISTコマンドは、キーに保存された地理空間値(ソート済みセット)のうち、指定した2つのメンバー間の距離を、指定した単位で返すために使用されます。指定されたメンバーの一方または両方が地理空間値に存在しない場合は、nullが返されます。 指定できる単位は以下の4種類です。 m:メートル(デフォルト) km:キロメートル mi:マイル ft:フィート キーが存在し