Redis
 sql >> Baza danych >  >> NoSQL >> Redis

Wygaśnięcie RedisTemplate nie działa

Ustawiłem następujący kod, aby wykonać test na 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);
    }

}

W zależności od konfiguracji Redis wszystkie dane Redis znikną po ponownym uruchomieniu instancji Redis.

Powinieneś także dodać asercję do expireSession (assertTrue(cache.expireSession(session, duration)); ), aby upewnić się, że wygaśnięcie zadziałało.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Uzyskaj wszystkie pola i wartości klucza skrótu za pomocą redis w węźle

  2. Spowodowane przez:java.lang.IllegalArgumentException:CONTAINING (1):[IsContaining, Containing, Contains] nie jest obsługiwane dla wyprowadzania zapytania redis — Redis

  3. Laravel Echo Server, Redis, Socket.IO:Wygląda na to, że nie mogą działać

  4. Indeksowanie przy użyciu posortowanych zestawów Redis

  5. Instalowanie Redisa na CentOS 8