Redis

Penyimpanan data di dalam memori yang cepat dengan sumber terbuka untuk digunakan sebagai database, cache, perantara pesan, dan antrean.

Apa itu Redis?

Redis adalah penyimpanan data nilai utama di dalam memori super cepat dengan sumber terbuka untuk digunakan sebagai database, cache, broker pesan, dan antrean. Redis memberikan respons dalam waktu di bawah satu milidetik yang memungkinkan jutaan permintaan per detik untuk aplikasi real-time pada Permainan, Ad-Tech, Layanan Finansial, Layanan Kesehatan, dan IoT. Redis adalah pilihan populer untuk melakukan cache, manajemen sesi, analisis real-time, geospasial, obrolan/perpesanan, streaming media, dan leaderboard permainan.

Bagaimana cara kerja Redis?

Semua data Redis terdapat di dalam memori, berbeda dengan database yang menyimpan data di disk atau SSD. Dengan menghilangkan kebutuhan untuk mengakses disk, penyimpanan data di dalam memori seperti Redis menghindari penundaan waktu pencarian dan dapat mengakses data dalam mikrodetik. Redis dilengkapi dengan struktur data versatil, ketersediaan yang sangat baik, geospasial, Lua scripting, transaksi, persistensi di disk, dan dukungan klaster yang membuatnya lebih mudah untuk membuat aplikasi skala internet secara real-time.

Amazon ElastiCache for Redis

Redis yang dikelola sepenuhnya dengan enkripsi, penyesuaian ukuran klaster online, ketersediaan yang sangat baik, dan kepatuhan. Pelajari selengkapnya >>

Keunggulan Redis

Penyimpanan data di dalam memori

Semua data Redis terdapat di memori utama server, yang berbeda dari database seperti PostgreSQL, Cassandra, MongoDB dan lainnya yang menyimpan sebagian besar data di disk atau di SSD. Dibandingkan dengan database berbasis disk tradisional di mana sebagian besar operasinya memerlukan roundtrip ke disk, penyimpanan data di dalam memori seperti Redis tidak mendapat konsekuensi yang sama. Maka, database tersebut dapat mendukung urutan magnitudo lebih banyak operasi dan waktu respons yang lebih cepat. Hasilnya adalah – kinerja super cepat dengan operasi baca atau tulis rata-rata memerlukan waktu kurang dari satu milidetik dan mendukung jutaan operasi per detik.

Struktur data fleksibel

Tidak seperti penyimpanan data bernilai utama yang menawarkan struktur data terbatas, Redis memiliki beragam struktur data untuk memenuhi aplikasi Anda. Tipe data Redis mencakup:

  • String – data teks atau biner hingga berukuran 512 MB
  • List – kumpulan String pada urutan ditambahkan
  • Set – kumpulan string tanpa urutan dengan kemampuan memotong, menyatukan, dan membedakan tipe Set lain
  • Sorted Set – Set yang diurutkan menurut nilai
  • Hash – struktur data untuk menyimpan daftar bidang dan nilai
  • Bitmap – tipe data yang menawarkan Anda operasi level bit
  • HyperLogLog – struktur data probabilistik untuk memperkirakan item unik dalam set data

Sederhana dan mudah digunakan

Redis menyederhanakan kode dengan memungkinkan Anda untuk menulis baris kode yang lebih sedikit untuk menyimpan, mengakses, dan menggunakan data di aplikasi Anda. Misalnya, jika aplikasi Anda memiliki data yang disimpan di hashmap, dan Anda ingin menyimpan data tersebut di penyimpanan data – Anda cukup menggunakan struktur data hash Redis untuk menyimpan data tersebut. Tugas serupa pada penyimpanan data dengan tanpa struktur data hash akan memerlukan banyak lini kode untuk diubah dari satu format ke format lain. Redis hadir dengan struktur data native dan banyak opsi untuk memanipulasi dan berinteraksi dengan data Anda. Lebih dari seratus klien sumber terbuka tersedia bagi pengembang Redis. Bahasa yang didukung termasuk Java, Python, PHP, C, C++, C#, JavaScript, Node.js, Ruby R, Go, dan banyak lagi.

Replikasi dan persistensi

Redis menggunakan arsitektur replika primer dan mendukung replikasi yang tidak sinkron di mana data dapat direplikasi ke beberapa server. Redis memberikan kinerja baca yang ditingkatkan (karena permintaan dapat dipisah antarserver) dan pemulihan yang lebih cepat di mana server primer mengalami gangguan. Untuk persistensi, Redis mendukung cadangan menurut waktu spesifik (menyalin set data Redis ke disk).

Ketersediaan dan skalabilitas yang sangat baik

Redis menawarkan arsitektur replika primer pada node tunggal primer atau topologi klaster. Ini memungkinkan Anda untuk membuat solusi yang tersedia sangat baik, memberikan kinerja dan keandalan yang konsisten. Apabila Anda ingin menyesuaikan ukuran klaster, berbagai opsi untuk menaikkan, dan memasukkan atau mengeluarkan skala juga tersedia. Hal ini memungkinkan klaster Anda untuk berkembang dengan permintaan Anda.

Ekstensibilitas

Redis adalah proyek sumber terbuka yang didukung dengan komunitas yang penuh semangat. Tidak ada penguncian oleh vendor atau teknologi karena Redis berbasis standar terbuka, mendukung format data terbuka, dan memberikan keunggulan berbagai klien yang kaya.

Caching

Redis adalah pilihan tepat untuk mengimplementasikan cache dalam memori yang tersedia sangat baik untuk mengurangi latensi akses data, meningkatkan throughput, dan memudahkan muatan dari database dan aplikasi NoSQL atau relasional. Redis dapat melayani item yang sering diminta pada waktu respons kurang dari satu milidetik, dan memungkinkan Anda untuk secara mudah menskalakan muatan yang lebih tinggi tanpa menambah biaya backend yang lebih mahal. Cache hasil kueri database, cache sesi persisten, cache halaman web, dan cache objek yang sering digunakan seperti gambar, file, dan metadata semuanya merupakan contoh populer cache dengan Redis.

Obrolan, perpesanan, dan antrean

Redis mendukung Pub/Sub dengan pencocokan pola dan beragam struktur data seperti list, sorted set, dan hash. Ini memungkinkan Redis untuk mendukung kinerja tinggi ruang obrolan, stream komentar real-time, umpan media sosial, dan komunikasi antarserver. Struktur data Daftar Redis memudahkan untuk mengimplementasikan antrean yang ringan. List menawarkan operasi atomik serta kemampuan pemblokiran, yang membuatnya cocok untuk berbagai aplikasi yang memerlukan perantara pesan atau daftar sirkuler yang andal.

Leaderboard permainan

Redis adalah pilihan populer di antara para pengembang yang ingin membuat leaderboard real-time. Cukup gunakan struktur data Redis Sorted Set, yang memberikan keunikan elemen sementara mempertahankan daftar yang diurutkan menurut skor pengguna. Membuat daftar peringkat secara real-time semudah memperbarui skor pengguna setiap kali berubah. Anda juga dapat menggunakan Sorted Set untuk menangani data urutan waktu menggunakan stempel waktu sebagai skor.

Penyimpanan sesi

Redis sebagai penyimpanan data di dalam memori dengan ketersediaan dan persistensi yang sangat baik adalah pilihan populer di antara para pengembang aplikasi untuk menyimpan dan mengelola data sesi untuk aplikasi skala internet. Redis memberikan latensi, skala, dan resiliensi di bawah satu milidetik yang diperlukan untuk mengelola data sesi seperti profil pengguna, kredensial, status sesi, dan personalisasi pengguna spesifik.

Streaming media yang kaya

Redis menawarkan penyimpanan data di dalam memori yang cepat untuk menyokong dalam kasus penggunaan streaming siaran langsung. Redis dapat digunakan untuk menyimpan metadata tentang profil pengguna dan riwayat tampilan, informasi/token otentikasi untuk jutaan pengguna, dan memanifestasikan file untuk memungkinkan CDN melakukan streaming video ke jutaan pengguna ponsel dan desktop dalam satu waktu.

Geospasial

Redis menawarkan operator dan struktur data di dalam memori yang dibuat sesuai tujuannya untuk mengelola data geospasial secara real-time dengan skala dan kecepatan. Perintah seperti GEOADD, GEODIST, GEORADIUS, dan GEORADIUSBYMEMBER untuk menyimpan, memproses, dan menganalisis data geospasial secara real-time memudahkan dan mempercepat geospasial dengan Redis. Anda dapat menggunakan Redis untuk menambahkan fitur berdasarkan lokasi seperti waktu berkendara, jarak tempuh, dan titik minat ke aplikasi Anda.

Machine Learning

Aplikasi digerakkan data yang modern memerlukan machine learning untuk secara cepat memproses data dengan volume besar, beragam, dan dengan kecepatan serta mengotomatiskan pengambilan keputusan. Untuk kasus penggunaan seperti pendeteksian penipuan dalam permainan dan layanan finansial, taruhan real-time di ad-tech, dan perjodohan pada kencan, serta berbagi menumpang kendaraan, kemampuan untuk memproses data langsung dan mengambil keputusan dalam waktu puluhan milidetik sangatlah penting. Redis memberi Anda penyimpanan data di dalam memori yang cepat untuk membuat, menyiapkan, dan menerapkan model machine learning secara cepat.

Analisis Real-time

Redis dapat digunakan dengan solusi streaming seperti Apache Kafka dan Amazon Kinesis sebagai penyimpanan data di dalam memori untuk mengambil, memproses, dan menganalisis data real-time dengan latensi di bawah satu milidetik. Redis adalah pilihan ideal untuk analisis real-time menggunakan kasus seperti analisis media sosial, penargetan, personalisasi, dan IoT.

Dukungan bahasa

Redis mendukung sebagian besar bahasa dan protokol pemrograman, termasuk:

Python

Java

PHP

Redis yang dikelola sepenuhnya di AWS

Amazon menawarkan layanan Redis yang dikelola sepenuhnya, Amazon ElastiCache for Redis, tersedia untuk uji coba secara gratis dengan AWS Tingkat Gratis. Amazon ElastiCache for Redis memudahkan penyiapan, pengoperasian, dan penskalaan penerapan Redis di cloud. Dengan Amazon ElastiCache, Anda dapat melakukan penerapan Redis skala internet dalam hitungan menit, dengan biaya murah, dan kapasitas perangkat keras yang dapat disesuaikan.
Mulai menggunakan Amazon ElastiCache for Redis gratis dalam tiga langkah mudah:
Amazon ElastiCache for Redis

Daftar

Pelajari Amazon ElastiCache for Redis

Pelajari dengan tutorial sederhana

Jelajahi bagaimana membuat klaster Redis.
Memulai dengan ElastiCache for Redis

Mulai membuat

Mulai membuat dengan bantuan dari panduan pengguna.