Redis
 sql >> база данни >  >> NoSQL >> Redis

Изтичането на RedisTemplate не работи

Настроих следния код за извършване на тест на 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);
    }

}

В зависимост от вашата конфигурация на Redis всички данни на Redis изчезват, ако рестартирате своя екземпляр на Redis.

Трябва също да добавите твърдение към expireSession (assertTrue(cache.expireSession(session, duration)); ), за да се уверите, че срокът на валидност е работил.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Най-добрият модел за работа с асинхронен цикъл в Node.js

  2. StackExchange.Redis ConnectionMultiplexer пул за синхронни методи

  3. Laravel Socket.io Свързан, но не получава данни

  4. Как мога да преобразувам байтове в цял шестнадесетичен низ?

  5. RDBTools е придобит от RedisLabs!