복붙노트

[REDIS] 레디 스에서 키의 생성의 시간

REDIS

레디 스에서 키의 생성의 시간

나는 13:30 2020년 2월 20일에서 레디 스에서이 작업을 수행한다고 가정,

> set foo "bar spam"
OK

나는 foo는 생성의 시간을 얻을 싶어요. 같은 뭔가가

> gettime foo
13:30 20 Feb 2020

?

해결법

  1. ==============================

    1.레디 스이 정보를 저장하지 않습니다.

    레디 스이 정보를 저장하지 않습니다.

    별도의 키를 사용할 수 있습니다 :

    MULTI
    SET foo "bar spam"
    SET foo:time "13:30 20 Feb 2020"
    EXEC
    
    GET foo:time
    
  2. ==============================

    2.당신이 값 자체를 삭제하지 않고 만료 된 값을 감지하는 timer로 필요로 할 때 사용하는 경우에,이 문제를 해결하는 또 다른 비슷한 옵션이 있습니다 :

    당신이 값 자체를 삭제하지 않고 만료 된 값을 감지하는 timer로 필요로 할 때 사용하는 경우에,이 문제를 해결하는 또 다른 비슷한 옵션이 있습니다 :

    MULTI
    SET foo "bar"
    SET foo:alive 1 EX 30
    EXEC
    

    여기에 30 - 원하는 시간 제한이다. 그런 다음 값이 여전히와 "살아"입니다 여부를 확인할 수 있습니다 :

    EXISTS foo:alive
    
  3. ==============================

    3.난 당신이 초기 TTL을 알고있는 경우는 가능하다고 생각;

    난 당신이 초기 TTL을 알고있는 경우는 가능하다고 생각;

    당신은 다음과 같이 할 수 있습니다 :

    $init = 60; //initial time
    $ttl = $redis->ttl("key"); //current ttl
    $diff = $init - $ttl; //difference is the time passed after key was created
    $creation = time() - $diff; //this is creation time in seconds since unix epoch
    
  4. from https://stackoverflow.com/questions/9917331/time-of-creation-of-key-in-redis by cc-by-sa and MIT license