Redis
 sql >> Teknologi Basis Data >  >> NoSQL >> Redis

Cache aplikasi vs. hibernasi cache tingkat kedua, yang mana yang digunakan?

Ini sangat tergantung pada model kueri aplikasi Anda dan permintaan lalu lintas.

  1. Menggunakan Redis/Hazelcast dapat menghasilkan kinerja terbaik karena tidak akan ada perjalanan bolak-balik ke DB lagi, tetapi Anda akhirnya memiliki data yang dinormalisasi dalam DB dan salinan yang didenormalisasi di cache Anda yang akan memberi tekanan pada pembaruan cache Anda kebijakan. Jadi, Anda mendapatkan kinerja terbaik dengan mengimplementasikan pembaruan cache setiap kali data yang ada berubah.
  2. Menggunakan cache tingkat ke-2 lebih mudah diatur tetapi hanya menyimpan entitas berdasarkan id. Ada juga cache kueri, menyimpan id yang dikembalikan oleh kueri yang diberikan. Jadi cache level 2 adalah proses dua langkah yang perlu Anda sesuaikan untuk mendapatkan kinerja terbaik. Saat Anda menjalankan kueri proyeksi, cache objek tingkat 2 tidak akan membantu Anda, karena hanya beroperasi pada beban entitas. Keuntungan utama dari cache tingkat 2 adalah lebih mudah untuk tetap sinkron setiap kali data berubah, terutama jika semua data Anda dipertahankan oleh hibernasi.

Jadi, jika Anda membutuhkan kinerja terbaik dan Anda tidak keberatan menerapkan logika pembaruan cache yang memastikan jendela konsistensi minimum, gunakan cache eksternal.

Jika Anda hanya perlu men-cache entitas (yang biasanya tidak sering berubah) dan sebagian besar mengaksesnya melalui pemuatan entitas Hibernate, maka cache tingkat 2 dapat membantu Anda.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Algoritma pencocokan pengguna

  2. Terhubung ke AWS ElastiCache dengan Enkripsi Dalam Transit + Auth dari klien selain redis-cli+stunnel

  3. pemindaian redis mengembalikan hasil kosong tetapi kursor bukan nol

  4. Bagaimana cara magento memunculkan nama kunci cache?

  5. Kegagalan cluster redis:budak tidak akan menjadi master