Redis
 sql >> Cơ Sở Dữ Liệu >  >> NoSQL >> Redis

RedisTemplate hết hạn không hoạt động

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ả.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Azure Cache / DataCache style Khu vực trong Redis

  2. Cách sửa các phím Redis Serialized với Java

  3. Làm thế nào để triển khai một node.js với redis trên kubernetes?

  4. Lỗi jemalloc / jemalloc.h:Không có tệp hoặc thư mục nào như vậy khi tạo Redis

  5. Redis và Memcache hay chỉ Redis?