cari

Rumah  >  Soal Jawab  >  teks badan

redis和postgresql一起开发,面对高并发写请求如何更新

是用代码分别更新到redis和postgresql数据库(谁先谁后)还是只更新到redis,然后通过队列异步更新到数据库?如果有详细的做法更好,谢谢!PS:有人谁用过redis-fdw吗?

ringa_leeringa_lee2798 hari yang lalu740

membalas semua(1)saya akan balas

  • ringa_lee

    ringa_lee2017-04-22 09:02:03

    Jika redis dan pangkalan data dikemas kini pada masa yang sama, ia sebenarnya adalah isu strategi kemas kini cache. Biar saya beritahu pendapat saya, mari kita anggap ia sebagai titik permulaan:
    Dua strategi biasanya digunakan untuk jenis masalah ini:
    1. Kemas kini semasa menulis ke cache: Ini bermakna cache dikemas kini selepas DB ditulis dengan jayanya. Strategi ini boleh mengurangkan penembusan, tetapi ia boleh menyebabkan ketidakkonsistenan data dengan mudah.
    2. Kemas kini semasa membaca cache: Ini bermakna cache hanya dipadamkan selepas DB ditulis dengan jayanya, dan cache dibina semula apabila ia perlu dibaca. Konsistensi strategi ini boleh dijamin, tetapi penembusannya adalah besar dan boleh memberi tekanan kepada DB dengan mudah.

    (Selepas mencari, saya dapati terdapat banyak mod kemas kini cache. Kedua-dua yang dinyatakan di atas hanyalah apa yang saya tahu
    1.Tulis Tulis terus
    2.Tulis di belakang Tulis cache dahulu, masukkan acara tulis ke dalam Baris Gilir, dan kemudian tulis ke pangkalan data
    3. Dasar Pengusiran Dasar kemas kini cache secara langsung memadamkan data dalam cache dan menunggu untuk dikemas kini apabila ia dibaca seterusnya.
    4. Replikasi
    5. Rakan Sebaya (P2P)
    )

    Jika anda hanya mengemas kini redis dan kemudian mengemas kininya secara tak segerak ke pangkalan data, data tidak akan mudah dibina semula selepas cache dimatikan Jika data anda tidak perlu tepat tetapi perlu diakses dengan cepat, anda boleh mempertimbangkan melakukan ini, seperti bilangan pelawat halaman.

    redis-fdw tidak pernah digunakan.

    balas
    0
  • Batalbalas