Redis
 sql >> Teknologi Basis Data >  >> NoSQL >> Redis

RedisTemplate kedaluwarsa tidak berfungsi

Saya menyiapkan kode berikut untuk melakukan pengujian pada getExpire() (jedis 2.5.2, spring-data-redis 1.4.2.RELEASE):

@RunWith(SpringJUnit4ClassRunner.class)
@SpringApplicationConfiguration(classes = DemoApplication.class)
public class DemoApplicationTests {

    @Autowired
    private RedisTemplate<String, String> template;

    @Test
    public void contextLoads() {

        template.getConnectionFactory().getConnection().flushAll();

        assertFalse(template.hasKey("key"));
        assertFalse(template.expire("key", 10, TimeUnit.MINUTES));
        assertEquals(0, template.getExpire("key", TimeUnit.MINUTES).longValue());

        template.opsForHash().put("key", "hashkey", "hashvalue");

        assertTrue(template.hasKey("key"));
        assertTrue(template.expire("key", 10, TimeUnit.MINUTES));
        assertTrue(template.getExpire("key", TimeUnit.MINUTES) > 8);
    }

}

Bergantung pada konfigurasi Redis Anda, semua data Redis akan hilang jika Anda memulai ulang instance Redis Anda.

Anda juga harus menambahkan pernyataan ke expireSession (assertTrue(cache.expireSession(session, duration)); ) untuk memastikan, kedaluwarsa berfungsi.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Menyimpan properti objek di redis

  2. Apakah Redis pubsub yang tidak memblokir mungkin?

  3. Terhubung ke AWS ElastiCache dengan Enkripsi Dalam Transit + Auth dari klien selain redis-cli+stunnel

  4. Bagaimana cara menentukan kebocoran memori Redis?

  5. Node.js, (Hai) Redis dan perintah multi