Caching menggunakan Redis + Node.js

https://medium.com/skyshidigital/caching-menggunakan-redis-node-js-8b83eb2ed507

 

 

 

 

 

Untuk membangun suatu API, kita dapat menggunakan cache agar dapat meningkatkan kecepatan, mengurangi penggunaan bandwith dan server load.
Pada kesempatan kali ini kita akan membuat API untuk mendapatkan total public repository Github seseorang.


Setup Project

Kita akan memulai dengan membuat direktori kosong untuk project kita.

mkdir node_redis && cd node_redis

Setelah itu install express, redis, dan superagent menggunakan NPM.

npm init && npm install express redis superagent --save

Sampai disini kita telah berhasil melakukan instalasi pada project API.

Membangun API Server

Saatnya kita membuat API server dan membuat satu endpoint untuk mengakses API Github.

Jalankan aplikasi dan buat satu request.

http://localhost:3000/users?username=satriowisnugroho

Pada contoh di bawah ini saya menggunakan Postman. Anda juga bisa menggunakan browser kesayangan Anda untuk melakukan request.

Saat kita mengakses endpoint users, terlihat kecepatan request timenya yaitu 1363 ms. Jika Anda menggunakan browser, Anda dapat melihat request timenya pada tab network di developer tools.

Oke, sampai disini kita sudah berhasil membangun API untuk melihat total public repository Github. Selanjutnya kita akan menggunakan caching untuk mempersingkat request timenya.

Caching Data

Sekarang saatnya kita menggunakan redis untuk menyimpan data secara sementara.

client.setex('key', 3600, 'value');

Setelah menyimpan data, selanjutnya adalah mengambil data cache.

client.get('key', function (err, data) {});

Berikut merupakan isi dari file setelah menggunakan redis.

Restart aplikasi kemudian reload.

Terlihat kecepatannya menjadi 15 ms, jauh lebih cepat daripada sebelum menggunakan cache.


Kesimpulan

Dengan menggunakan cache kita dapat meningkatkan kecepatan akses data. Dengan pendekatan sederhana yang sudah kita coba di atas, kita dapat melihat hasil yang memuaskan. Kita juga dapat mengaplikasikannya pada proses akses data ke database, ataupun ke sumber lain yang menggunakan pemrosesan lebih lambat.

Oke sekian tutorial singkat dari saya, semoga bermanfaat.

You may also like...

Leave a Reply

Your email address will not be published. Required fields are marked *