cari

Rumah  >  Soal Jawab  >  teks badan

java - mySQL里有2000w数据,redis中只存20w的数据,如何保证redis中的数据都是热点数据?

mySQL里有2000w数据,redis中只存20w的数据,如何保证redis中的数据都是热点数据?

ringa_leeringa_lee2770 hari yang lalu985

membalas semua(4)saya akan balas

  • PHP中文网

    PHP中文网2017-04-18 09:08:49

    Berdasarkan jawapan @ybak, saya akan berikan anda penyelesaian yang agak mudah dan praktikal.

    Hadkan memori yang diduduki oleh Redis akan memuatkan data panas ke dalam memori mengikut strategi penyingkiran datanya sendiri.
    Jadi, kirakan anggaran memori yang diduduki oleh data 20W, dan kemudian tetapkan had memori Redis.

    balas
    0
  • 高洛峰

    高洛峰2017-04-18 09:08:49

    Data apakah masalahnya?

    Seperti data pengguna. Pangkalan data mempunyai 20 juta penyertaan.
    Pengguna aktif:
    Masukkan redis sortSet pengguna yang telah log masuk dalam masa dua hari (untuk kemudahan, pengguna aktif dalam satu hari) dilog masuk ZADD sekali Jika set sudah wujud, skornya (masa log masuk) akan ditimpa. Kunci: log masuk:pengguna, nilai: cap masa skor, id pengguna nilai. Sediakan tugas berkala, seperti memadamkan data dalam susunan yang ditetapkan sebelum pukul 3 pada hari sebelumnya pada pukul 03:00:00 setiap hari (untuk memastikan set itu tidak berkembang secara tidak teratur dan mengekalkan pengguna aktif pada hari lalu ).

    Apabila mengambil, dapatkan cap masa semasa (int 10 digit), kemudian tolak 1 hari untuk mendapatkan pengguna aktif dalam tempoh 24 jam yang lalu mengikut julat skor.

    balas
    0
  • PHP中文网

    PHP中文网2017-04-18 09:08:49

    Melihat soalan anda, anda hanya perlu menggunakan Redis sebagai cache
    Sediakan cara mudah untuk melaksanakan pembatalan cache: LRU (baru-baru ini jarang digunakan keusangan)
    Iaitu, setiap kali cache redis mencecah, Tambah. ttl (masa tamat tempoh) tertentu ke cache hit (ditetapkan mengikut situasi tertentu, seperti 10 minit
    Selepas tempoh masa, ttl data panas akan menjadi lebih besar dan tidak akan tamat tempoh secara automatik. Data sejuk pada asasnya menjadi tidak sah serta-merta selepas melepasi set ttl.

    balas
    0
  • 黄舟

    黄舟2017-04-18 09:08:49

    Apabila saiz set data memori redis meningkat kepada saiz tertentu, strategi penyingkiran data akan dilaksanakan.

    redis menyediakan 6 strategi penghapusan data:

    volatile-lru: Pilih data yang paling kurang digunakan baru-baru ini daripada set data dengan masa tamat untuk menghapuskan
    volatile-ttl
    volatile-random
    allkeys-lru
    allkeys -random
    tiada enviction

    balas
    0
  • Batalbalas