
Redisによるキャッシング
Cache manager、Redis統合、キャッシュ戦略、TTL、無効化、分散キャッシュ
1キャッシングの文脈におけるRedisとは何ですか?
キャッシングの文脈におけるRedisとは何ですか?
回答
Redis(Remote Dictionary Server)は、主に分散キャッシュとして使用されるインメモリのキーバリュー型NoSQLデータベースです。従来のディスクベースのデータベースとは異なり、Redisはデータをメモリ(RAM)に保存するため、ミリ秒単位の応答時間を実現します。strings、hashes、lists、sets、sorted setsといった高度なデータ構造をサポートしており、さまざまなキャッシュパターンに対して非常に柔軟に対応できます。
2NestJSにRedisを統合するためにインストールすべきnpmパッケージはどれですか?
NestJSにRedisを統合するためにインストールすべきnpmパッケージはどれですか?
回答
NestJSにRedisを統合するには、@nestjs/cache-managerとcache-manager-redis-store(最近のバージョンではcache-manager-redis-yet)をインストールする必要があります。@nestjs/cache-managerパッケージは、NestJSのdependency injectionシステムと統合される公式のCacheModuleを提供します。cache-manager-redis-storeパッケージは、デフォルトのインメモリキャッシュの代わりにRedisをキャッシュバックエンドとして使用できるようにします。
3CacheModuleをRedisでグローバルに構成するにはどのメソッドを使用しますか?
CacheModuleをRedisでグローバルに構成するにはどのメソッドを使用しますか?
回答
CacheModule.register()メソッドはモジュールに対してローカルにキャッシュを構成しますが、isGlobal: trueを指定したCacheModule.registerAsync()はアプリケーション全体でグローバルに利用可能にします。async方式では、ConfigServiceを注入して環境変数からRedisのURLを動的に取得できます。isGlobalを使用すると、アプリケーションの各モジュールでCacheModuleを再インポートする必要がなくなります。
RedisキャッシュにおけるTTL(Time To Live)とは何ですか?
NestJSにおける@UseInterceptors(CacheInterceptor)デコレーターの目的は何ですか?
+17 面接問題