Saya telah membaca banyak artikel yang memperkenalkan mekanisme kegagalan kunci utama, terutamanya dengan mengkonfigurasi strategi penghapusan kegagalan (LRU/TTL/RADMON untuk kunci yang tidak menentu dan global) dan strategi kegagalan (kaedah negatif + kaedah positif).
Saya ada soalan apabila pegawai memperkenalkan kaedah tamat tempoh kunci (anda boleh klik di sini), ia mengatakan bahawa kelewatan 0-1 milisaat boleh dicapai selepas versi 2.6.
Tetapi apabila dasar pembatalan adalah yang paling cekap (konfigurasi: volatile-ttl), apabila semua kunci tidak sah diletakkan dalam dict untuk mengendalikan pemusnahan tamat masa, pelaksanaan dasar pembatalan dilaksanakan sekali setiap 1/10 saat (100 milisaat) . Apakah ia boleh mencapai 0-1 milisaat? Adakah saya salah faham di suatu tempat?
Pengenalan kepada mekanisme kegagalan:
http://blog.nosqlfan.com/html...
https://yq.aliyun.com/article...
Pengenalan tamat tempoh:
http://redis.cn/commands/expi...
Ia sangat mudah, "tamat tempoh" = "padam".
Saya menganggarkan bahawa peningkatan dalam ketepatan tamat tempoh adalah disebabkan terutamanya oleh pengenalan perintah pexpire. Ttl yang direkodkan sebelum ini sepatutnya hanya mempunyai ketepatan tahap kedua, jadi ketepatan tamat tempoh adalah sama.
Sudah pasti tiada cara untuk Redis menjamin bahawa semua kunci tamat tempoh akan dipadamkan dalam masa 1ms, tetapi ia boleh menjamin bahawa anda tidak akan melihat kunci yang telah tamat tempoh lebih daripada 1ms.