こんにちは!今回は、開発者が毎日の開発作業中に遭遇した課題と、それを解決した方法についてのご紹介です!(シリーズ化予定)
同様の課題に直面されている方の参考になれば嬉しいですし、そうでない方もココネ開発の雰囲気を少しでも感じて頂けたら嬉しいです。

RedisのTTLが設定されてないキーの取得

今回のお題は、インメモリデータベースの一つであるRedisから「TTLが設定されていないキーのみを取得する」方法についてです。
TTLが設定されていないとキーがRedisから削除されず、Cacheサーバーという本来の役割にも合わないこと、またメモリ容量も圧迫されてしまうため安定的なサービス提供に支障が生じてしまいます。
TTLが設定されていないデータを見つけて適切な設定を加えることで、サービスの安定化やコストダウンも実現できます。

1.Redisのキー情報取得

上記結果から
keys – expires = ttlが設定されていないキーの件数

2.TTLが設定されていないキーリスト取得

【参考】
50万キーに対して30分程度かかった
サーバSpec
vCPU:2個
Memory : 7.5G

いかがでしたでしょうか。
今回はちょっとした効率化に通じる物でしたが、今後も様々な技術ネタを投稿予定です。
また、今回は上記とは別でRedisに関連したTipsをいくつかおまけとして記載しましたので、
少しでも同じような作業をしようとしている方の参考になれば嬉しいです!

3.(おまけ1)Serialized Sizeを取得

4.(おまけ2)大容量のキー検索