Saya pernah mendengar tentang redis-cache tetapi bagaimana tepatnya cara kerjanya? Apakah ini digunakan sebagai lapisan antara django dan rdbms saya, dengan cara meng-cache permintaan rdbms?
Atau seharusnya digunakan langsung sebagai database? Yang saya ragu, karena halaman github itu tidak mencakup detail login, tidak ada pengaturan .. hanya memberitahu Anda untuk mengatur beberapa properti config.
Hanya karena Redis menyimpan sesuatu di dalam memori tidak berarti bahwa itu dimaksudkan sebagai cache. Saya telah melihat orang menggunakannya sebagai penyimpanan data yang persisten.
Bahwa itu dapat digunakan sebagai cache adalah petunjuk bahwa itu berguna sebagai penyimpanan berkinerja tinggi. Jika sistem Redis Anda mati meskipun Anda mungkin kehilangan data yang tidak ditulis kembali ke disk lagi. Ada beberapa cara untuk mengurangi bahaya tersebut, misalnya replika siaga panas. Jika data Anda 'sangat penting', seperti jika Anda menjalankan bank atau toko, Redis mungkin bukan pilihan terbaik untuk Anda. Tetapi jika Anda menulis game dengan lalu lintas tinggi dengan data langsung yang terus-menerus atau beberapa hal interaksi sosial dan mengelola kemungkinan kehilangan data cukup dapat diterima, maka Redis mungkin layak untuk dilihat.
Pokoknya intinya tetap ya, Redis bisa dijadikan database.
sumber
Redis pada dasarnya adalah penyimpanan KV 'dalam memori' dengan banyak lonceng dan peluit. Ini sangat fleksibel. Anda dapat menggunakannya sebagai penyimpanan sementara, seperti cache, atau penyimpanan permanen, seperti database (dengan peringatan seperti yang disebutkan dalam jawaban lain).
Ketika dikombinasikan dengan Django kasus penggunaan terbaik / paling umum untuk Redis mungkin untuk menyimpan 'tanggapan' dan sesi.
Ada backend di sini https://github.com/sebleier/django-redis-cache/ dan dokumentasi yang sangat baik dalam dokumen Django di sini: https://docs.djangoproject.com/en/1.3/topics/cache/ .
Saya baru-baru ini mulai menggunakan https://github.com/erussell/django-redis-status untuk memantau cache saya - bekerja dengan sangat baik. (Konfigurasi maxmemory pada redis atau hasilnya tidak terlalu berguna).
sumber
Anda juga dapat menggunakan Redis sebagai antrian untuk tugas terdistribusi di aplikasi Django Anda. Anda dapat menggunakannya sebagai perantara pesan untuk Celery atau Python RQ .
sumber
Redis sebagai database Primer
Ya, Anda dapat menggunakan penyimpanan nilai kunci Redis sebagai database utama. Redis tidak hanya menyimpan pasangan nilai-kunci, tetapi juga mendukung berbagai struktur data seperti
Jenis Data Redis Dokumen resmi
Redis ada di penyimpanan nilai kunci memori sehingga Anda harus menyadarinya jika terjadi kegagalan server Redis, data Anda akan hilang.
Redis juga dapat memeriksa data dokumen resmi.
Dok. Resmi Persistensi Redis
Redis sebagai Cache
Ya Redis berada di antara Django dan RDBMS.
Bagaimana itu bekerja
Kerangka cache Django Official Doc
Bagaimana bisa menggunakan Redis dengan Django
Kita dapat menggunakan klien redis python redis-py untuk aplikasi Django.
Redis klien python redis-py Github
Kita bisa menggunakan Django-redis untuk django cache backend.
Django-redis dibangun di atas redis-py dan menambahkan fitur ekstra terkait dengan aplikasi django.
Django-redis doc Github
Perpustakaan lain juga ada.
Redis kasus penggunaan dan tipe data
Beberapa kasus penggunaan
Kasus Penggunaan Redis Teratas menurut jenis struktur Data Inti
Perusahaan Teknologi Besar menggunakan Redis
sumber