Rumah  >  Soal Jawab  >  teks badan

mysql - Tanya soalan tentang caching pangkalan data dalam Java

Sekarang saya bertanggungjawab untuk platform penulisan peribadi di perpustakaan sekolah Model perniagaan asas telah disiapkan, tetapi projek itu belum dioptimumkan dalam persekitaran konkurensi tinggi.

Setiap pelajar boleh menulis ulasan buku atau mencatat nota selepas membaca buku Ulasan buku adalah awam dan nota adalah peribadi. Mengikut amalan semasa, setiap operasi pelajar mengakses pangkalan data untuk pertanyaan, jadi pasti akan ada kesesakan prestasi pada masa hadapan.

Saya mungkin melihat tutorial berkaitan ehcache tetapi tiada penyelesaian yang baik Sebab utamanya ialah saya tidak boleh menilai sama ada cache tidak sah. Contohnya, jika anda meletakkan sejumlah nota tertentu daripada pelajar frekuensi tinggi ke dalam cache, jika anda menetapkan tamat masa tertentu selama 5 minit, apakah yang perlu anda lakukan jika nota baharu ditambah atau diubah suai dalam masa 5 minit ini?

Sebagai contoh, jika pernyataan sql sepadan dengan pernyataan sql dalam mybatisselect * from comments condition,我可以通过ehcache建立一个内存缓存,但是如果commentsRekod baharu ditambah atau dikemas kini, bagaimanakah cache yang ditambahkan dalam ehcache boleh dikemas kini dengan anggun?

Bolehkah mana-mana netizen mencadangkan penyelesaian yang berkaitan? terima kasih :-)

为情所困为情所困2686 hari yang lalu677

membalas semua(1)saya akan balas

  • 代言

    代言2017-06-12 09:21:37

    Memandangkan ia adalah cache, ia mesti bertolak ansur dengan keberkesanan data Jika tidak, jika anda ingin mengawal data masa nyata dengan ketat, anda hanya boleh mengakses pangkalan data untuk pertanyaan.

    Menurut senario perniagaan yang diterangkan oleh penyoal, penyelesaian biasa adalah untuk mengekalkan hubungan antara buku dan ulasan buku melalui indeks luaran (sudah tentu indeks tidak sepenuhnya masa nyata), dan kemudian melalui kv cache (redis, ehcache, peta, dsb.) untuk cache kandungan khusus ulasan buku.
    Apabila mengemas kini data, biasanya pangkalan data dikemas kini dahulu, dan kemudian cache dikemas kini Indeks tidak perlu dikemas kini.
    Apabila data dikemas kini (masukkan), hubungan yang sepadan perlu ditambah pada indeks berdasarkan kemas kini.

    Untuk indeks luaran yang ringkas, anda boleh menambah jadual hubungan (ulasan buku-buku) dalam pangkalan data, membina indeks dan apabila menanya ulasan buku, pertanyaan pertama (pertanyaan berhalaman) jadual hubungan, dan kemudian menanya ulasan buku tertentu. maklumat melalui kunci utama semakan buku ( Caching ditambah pada maklumat semakan buku tunggal), disyorkan untuk membuat pertanyaan dua kali dan memasang data dalam ingatan, dan tidak menggunakan pertanyaan jadual gabungan (menjejaskan prestasi pangkalan data). Tidak perlu mencipta cache untuk data jadual hubungan Anda hanya perlu menambah cache maklumat semakan buku.

    balas
    0
  • Batalbalas