Nest.js ile Redis kullanımı (render.com)

Merhaba bu yazımda sizlere Nest.js “@nestjs-modules/ioredis” kütüphanesini kullanarak Nest.js uygulamalarımızda Redis Cache mekanizmasını nasıl implemente edebileceğinizi göstereceğim ayrıca. Bu kütüphanenin yanında “ioredis kütüphanesinide indirmeyi unutmayalım. Bu 2 kütüphaneyi kullanacağız. Bu işlemi render.com üzerinden Free Redis Clusteri oluşturarak yapacağız. Tabi ki siz her hangi bir local ve cloud ortamı kurulumu tercih edebilirsiniz.

Öncelikle Nest.js uygulamamızda app.module.ts dosyamıza gelelim daha önceden kurulum yaptığınızı varsayıyoruz tabi ki bu aşamada

captionless image

app.module.ts dosyam bu şekilde burada RedisModule.forRootAsync methodu ile redis bağlantımızı gerçekleştiriyoruz tabi ki keepAlive ve lazyConnect gibi ayarlarıda extra olarak uygulayabilirsiniz. Bundan sonra ise Nest.js uygulamamızın env dosyasında REDIS_HOST değişkenimizi tanımlayalım. Bir sonraki adımda ise render.com üzerinden bir Redis Clusture oluşturup Nest.js io redis modülümüz üzerinden Redis methodlarına erişim sağlayabilmek.

Render.com veya direk https://dashboard.render.com üzerinden

captionless image

New seçeneğine tıklayıp. Yeni bir redis sunucusu oluşturun ( Free Cluster seçmeyi unutmayın )

captionless image

Ayarlarınızı yapılandırın Redis Instance yarattıktan sonra internal url ile Nest.js uygulamamızın env dosyasında REDIS_HOST değişkenine karşılık gelecek şekilde yerleştirebiliriz. Son olarak ise kullanıma gelecek olursak..

captionless image

Inject Redis decaratörü ile çağırıp her hangi bir service katmanımızda redis methodlarını kullanabiliriz.

Örnek kullanım ;

await this.redis.set()

await this.redis.get()

captionless image

Kod örneklerini verdiğim repo ; https://github.com/TarikSogukpinar/blog.io/blob/master/api/src/app.module.ts

bir sonra ki yazımda görüşmek üzere iyi çalışmalar dilerim.