मैंने getExpire()
. पर परीक्षण करने के लिए निम्न कोड सेट किया है (जेडिस 2.5.2, स्प्रिंग-डेटा-रेडिस 1.4.2.रिलीज):
@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));
) यह सुनिश्चित करने के लिए कि समाप्ति ने काम किया।