Redis
 sql >> डेटाबेस >  >> NoSQL >> Redis

RedisTemplate की समय सीमा समाप्त काम नहीं करता

मैंने 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)); ) यह सुनिश्चित करने के लिए कि समाप्ति ने काम किया।




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. रेडिस - हैश का उपयोग करना

  2. रेडिस में सभी कुंजी कैसे प्राप्त करें

  3. RedisTemplate की समय सीमा समाप्त काम नहीं करता

  4. Centos पर Redis के कई उदाहरण चलाना

  5. यह जानते हुए कि रेस्क्यू वर्कर ने कब पूरा किया काम