cari

Rumah  >  Soal Jawab  >  teks badan

java - spring data redis 超时设置无效的问题

Long expireTime=redisTemplate.boundValueOps(key).getExpire();

        int countNow = Integer.valueOf(redisTemplate.boundValueOps(key).get());

获取超时时间expiretime 为0
但是我他妈的居然能拿到key对应的值,是不是redis存磁盘了,还是redis删除数据的机制原因?测试的能行,生产环境就不行了!!

PHP中文网PHP中文网2888 hari yang lalu389

membalas semua(1)saya akan balas

  • 迷茫

    迷茫2017-04-17 17:36:12

    Pelayan Redis, tetapan kluster, tuan-hamba, hamba tiada data, sebabnya tidak diketahui. Gunakan yang maya untuk melayangkan data ke pelayan redis utama. Kunci yang ditetapkan tidak boleh dilihat pada pelayan utama. Kuncinya ialah anda boleh mendapatkan masa tamat menjadi sifar melalui kaedah, tetapi anda boleh mendapatkan nilai yang sepadan dengan kunci. Sekarang bahawa terdapat pelayan redis lain, di manakah data disimpan Mengapakah nilai tamat tempoh sifar, dan saya masih boleh mendapatkan nilai yang sepadan dengan kunci? ? ?
    Akhirnya, selepas mematikan redis hamba, memulakan semula pelayan induk, dan menghalakan IP ke pelayan redis induk, masalah telah diselesaikan.
    Puncanya tidak diketahui.
    Ke manakah perginya data?

    Tambahan:
    Jika anda menetapkan kunci tidak stabil dengan nilai kunci yang mempunyai masa tamat tempoh, sila beri perhatian! Jika anda menggunakan kaedah menetapkan masa tamat kepada 0 untuk memadamkan kunci, redis mungkin tidak memadamkannya dengan serta-merta.
    Gunakan kaedah hasKey data spring redis untuk menentukan sama ada kunci itu wujud, dan kemudian anda akan jatuh ke dalam perangkap, kerana walaupun masa tamat adalah 0, kunci itu mungkin tidak dipadamkan
    Redis menggunakan kaedah tersebut untuk kunci tamat tempoh Lazy expired: Tentukan sama ada kunci telah tamat tempoh semasa mengakses kunci Jika ia tamat tempoh, lakukan pemprosesan tamat tempoh. Kedua, kunci tidak menentu diambil sampel dan diuji setiap saat Jika terdapat kunci tamat tempoh, semua kunci tamat tempoh akan diproses.
    Kami tidak tahu tetapan apa yang berkaitan dengan kelajuan rondaan ini dan sejauh mana kecekapannya. Oleh itu, apabila anda menetapkan kunci tidak stabil dan menggunakan hasKey untuk membuat pertimbangan, sila ambil perhatian bahawa anda perlu mendapatkan masa tamat tempoh kunci dan kemudian membuat penilaian sendiri.

    Edisi pertama "Redis Design and Implementation" mempunyai penjelasan tentang prinsip Jika anda berminat, anda boleh mencarinya

    balas
    0
  • Batalbalas