Pahami Redis dan pelajari cara mengoptimalkan aplikasi Node Anda dengan penyimpanan data yang andal ini.
Saat Anda membuat aplikasi web, Anda harus memastikannya dapat diskalakan dan efisien. Untuk melakukannya, Anda harus mempertimbangkan beberapa prinsip dan konsep.
Redis adalah salah satu dari banyak teknologi yang dapat membantu meningkatkan performa aplikasi web Anda. Ini menawarkan fitur luar biasa yang dapat Anda gunakan untuk meningkatkan kinerja aplikasi web apa pun.
Jadi, apa sebenarnya Redis itu, dan bagaimana Anda bisa mulai menggunakannya dengan aplikasi web Node.js Anda?
Apa itu Redis, dan Kapan Anda Harus Menggunakannya?
Redis adalah penyimpanan data sumber terbuka, dalam memori, nilai kunci. Ini adalah teknologi fleksibel yang dapat bertindak sebagai antrean kerja, basis data, cache, pengelola sesi, perantara pesan, dan banyak lagi.
Kombinasi kecepatan, keserbagunaan, dan kemudahan penggunaan Redis menjadikannya alat yang sangat berharga dalam ekosistem pengembang perangkat lunak.
Kapan Anda Harus Menggunakan Redis?
Redis sangat cocok untuk banyak tugas, tetapi Anda harus berhati-hati untuk menggunakannya hanya jika masuk akal untuk melakukannya.
Anda harus mempertimbangkan untuk menggunakan Redis dalam skenario berikut:
- Caching: Redis adalah cara paling populer untuk mengimplementasikan cache untuk membantu mencegah beban pada database dan meningkatkan performa secara keseluruhan.
- Manajemen sesi: Menyimpan dan mengelola sesi pengguna untuk autentikasi dan manajemen status sangat mudah dilakukan dengan Redis.
- Penyimpanan data sementara: Redis memungkinkan Anda menyimpan data dan menghapusnya secara otomatis setelah jangka waktu tertentu. Ini menjadikannya alat yang baik untuk menyimpan data sementara seperti Token web JSON, antrian pekerjaan, dll.
Kasus lain yang harus Anda pertimbangkan untuk menggunakan Redis termasuk mengimplementasikan broker pesan, mengoptimalkan operasi basis data, dan bahkan menyimpan dan mengakses struktur data seperti daftar, set, dan hash.
Cara Menggunakan Redis Dengan Node.js
Node.js adalah teknologi populer untuk membangun aplikasi sisi server yang efisien dan dapat diskalakan. Anda dapat menggunakannya bersamaan dengan teknologi pendukung seperti Redis untuk mendapatkan kinerja dan skalabilitas tinggi.
Redis mendukung beberapa bahasa. Anda bisa menggunakannya untuk penyimpanan data di PHP Dan ada klien Redis yang luar biasa untuk Golang. Dua klien Redis paling populer untuk Node.js adalah node-redis Dan ioredis.
Kedua paket tersedia melalui npm dan mudah digunakan. Perbedaan utama adalah itu node-redis adalah klien resmi, sedangkan komunitas merekomendasikan ioredis.
Menghubungkan ke Redis Dari Node.js
Untuk memulai, Anda harus menginstal Redis di komputer Anda, dan menyiapkan lingkungan pengembangan Node.js. Lihat panduan instalasi di Redis.io untuk menginstal Redis di Linux, macOS, dan Windows.
Anda perlu menginstal SDK klien Redis pilihan Anda di proyek Anda agar dapat terhubung ke Redis. Bergantung pada preferensi Anda (kami akan menggunakan node-redis), jalankan salah satu perintah di bawah untuk menginstal klien Redis:
npm instal redis --save
npm instal ioredis --save
Perintah pertama menginstal node-redis, sedangkan yang kedua menginstal ioredis.
Untuk mengonfigurasi klien yang baru diinstal, Anda harus memastikan bahwa Redis sedang berjalan. Anda dapat melakukan ini hanya dengan memulai redis-cli di terminal Anda:
Itu ping perintah ping server untuk mengonfirmasi itu berjalan, dan a PONG respons di CLI berarti server berfungsi dengan baik. Sekarang buat redis.js file di proyek Node Anda dan tulis kode berikut di dalamnya untuk mengonfigurasi Redis:
const redis = memerlukan("redis")
// inisialisasi menggunakan konfigurasi default
const RedisClient = redis.createClient()const connectRedis = asinkron () => {
// terhubung ke redis
menunggu RedisClient.connect()// menangani kesalahan
RedisClient.on('kesalahan', (salah) => {
menghibur.kesalahan(`Terjadi kesalahan dengan Redis: ${err}`)
})
menghibur.catatan('Redis berhasil tersambung...')
}
Kode di atas menginisialisasi klien Redis baru di aplikasi. Itu buatKlien fungsi paket redis memungkinkan Anda membuat klien menggunakan parameter yang Anda tentukan.
Anda dapat menentukan host, port, nama pengguna, kata sandi, atau string koneksi, atau menggunakan nilai default. Misalnya, node-redis akan mulai berjalan di localhost, di port 6379, secara default.
Berikut adalah beberapa cara Anda dapat menggunakan buatKlien fungsi:
// menggunakan string koneksi
const RedisClient = redis.createClient("rediss://127.0.0.1:6379")
// menggunakan objek parameter
const RedisClient = redis.createClient({
stopkontak: {
tuan rumah: "127.0.0.1",
pelabuhan: "6379"
},
nama belakang: "nama pengguna redis Anda",
kata sandi: "kata sandi Anda"
})
Gunakan instans Redis yang aman dalam produksi. Jika demikian, Anda juga memiliki brankas URL string untuk koneksi atau gunakan parameter yang ditunjukkan di atas. Apa pun masalahnya, selalu ingat untuk menyembunyikan kredensial dari kode, dan gunakan variabel lingkungan sebagai gantinya.
Melakukan Operasi Redis Dasar di Node.js
Kode berikut terhubung ke Redis menggunakan connectRedis fungsi di atas dan mendemonstrasikan beberapa operasi dasar yang dapat Anda lakukan di Redis dari aplikasi Node Anda.
const tesRedis = asinkron () => {
menunggu connectRedis()// Tetapkan dan ambil nilai
menunggu RedisClient.set("nama", "Tim")
const dapatkan Perintah = menunggu RedisClient.get("nama")
menghibur.log (dapatkan Perintah)// Hapus nilai segera atau jadwalkan untuk kedaluwarsa
// dalam beberapa detik
menunggu RedisClient.del("nama");
menunggu RedisClient.setEx("lokasi", 60, "Lago")// Dorong ke depan atau belakang daftar
menunggu RedisClient.lPush("hari", "Senin")
menunggu RedisClient.rPush("hari", "Selasa")
menunggu RedisClient.lPush("hari", "Rabu")
const susunan hari = menunggu RedisClient.lRange("hari", 0, -1)
// mencetak [ 'rabu', 'senin', 'selasa' ]
menghibur.log (Array hari)// Hapus item dari belakang atau depan daftar
menunggu RedisClient.rPop("hari")
menunggu RedisClient.lPop("hari")
const newDaysArray = menunggu RedisClient.lRange("hari", 0, -1)
// mencetak [ 'senin' ]
menghibur.log (BaruDaysArray)
}
testRedis()
Perhatikan penggunaan asinkron Dan menunggu Di Sini. Ini karena semua fungsi berjalan secara asinkron dan mengembalikan janji, jadi jika Anda membutuhkan hasilnya segera, penting untuk melakukannya menunggu mereka.
Kode di atas hanya menampilkan beberapa operasi dasar yang dapat Anda lakukan di Redis dari aplikasi Node.js. Masih banyak lagi perintah dan konsep yang layak untuk dilihat.
Itu Perintah Redis bagian dalam README ditemukan di node-redisGitHub repositori adalah tempat yang baik untuk menemukan semua perintah lain dan apa yang mereka lakukan.
Gunakan Redis untuk Membangun Aplikasi yang Efisien
Memanfaatkan kekuatan Redis memungkinkan Anda, sebagai pengembang, membangun aplikasi sisi server yang sangat efisien. Dengan penyimpanan data dalam memori Redis serta struktur dan perintah data yang ekstensif, aplikasi dapat mencapai pengoptimalan kinerja yang luar biasa.
Anda harus mempertimbangkan untuk mengintegrasikan Redis ke dalam aplikasi Node.js berikutnya untuk meningkatkan kinerja aplikasi Anda dan memberikan pengalaman pengguna yang lebih baik.