Tôi thiết lập mã sau để thực hiện kiểm tra trên 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);
}
}
Tùy thuộc vào cấu hình Redis của bạn, tất cả dữ liệu Redis sẽ biến mất nếu bạn khởi động lại phiên bản Redis của mình.
Bạn cũng nên thêm một xác nhận vào expireSession
(assertTrue(cache.expireSession(session, duration));
) để đảm bảo rằng thời hạn sử dụng có hiệu quả.