9. Redis 처리 기한 이 지난 keys 의 메커니즘

원본 링크:http://www.cnblogs.com/xinhuaxuan/p/9315851.html
책 을 읽 으 면 만 권 이 깨 지고 코드 는 신 이 있 는 것 같다.
--------------------------------------------------------------------
1. Redis 처리 기한 이 지난 key 메커니즘
client 가 key 에 주동 적 으로 접근 할 때 key 에 대해 시간 초과 판단 을 하고 시간 이 지난 key 는 즉시 삭 제 됩 니 다.또한 redis 는 백 스테이지 에서 1 초 에 10 번 씩 다음 과 같은 작업 을 수행 합 니 다. 100 개의 key 를 무 작위 로 선택 하여 만 료 여 부 를 확인 합 니 다. 25 개 이상 의 key 가 만 료 되면 즉시 100 개의 key 를 무 작위 로 선택 합 니 다.즉, 만 료 된 key 가 많 지 않 으 면 redis 는 최대 1 초 에 200 개 정 도 를 회수 하고 25% 가 넘 는 key 가 만 료 되면 더 많이 할 수 있 으 며, 이 는 방문 되 지 않 은 데이터 도 만 료 되 더 라 도 삭제 된다 는 것 이다.
--------------------------------------------------------------------
2. 기한 이 지난 keys 를 처리 하 라 는 명령
2.1, expire: 만 료 시간 을 설정 합 니 다.형식: expire key 값 초
2.2, expireat: 만 료 시간 을 설정 합 니 다. 형식 은 expireat key 값 이 만 료 된 시간 스탬프 입 니 다.
2.3, ttl: 몇 초 만 료 되 었 는 지 확인 합 니 다. 형식 은 ttl key 값 입 니 다. - 1 은 만 료 되 지 않 음 을 표시 합 니 다. - 2 는 만 료 되 었 음 을 표시 합 니 다.
2.4. persist: 만 료 되 지 않 는 것 으로 설정 합 니 다. 형식 은 persist key 값 에서 key 의 만 료 설정 을 삭제 합 니 다.또한 set 또는 getset 명령 을 키 로 할당 할 때 키 의 만 료 시간 도 지 워 집 니 다.
2.5, pttle: 몇 밀리초 만 료 되 었 는 지 확인 합 니 다. 형식 은 pttle key 값 입 니 다.
2.6, pexpire: 만 료 시간 설정, 형식: pexpire key 값 밀리초
2.7, pexpireat: 만 료 시간 을 설정 합 니 다. 형식 은 pexpireat key 값 이 만 료 된 시간 스탬프 입 니 다.
자바 코드 는 다음 과 같 습 니 다:
 1 import redis.clients.jedis.Jedis;
 2 
 3 /**
 4  *     keys   
 5  */
 6 public class KeyExpireOperation {
 7     public static void main(String[] args) {
 8         Jedis jedis = new Jedis("127.0.0.1",6379);
 9         /**
10          *   1: expire :       。   :expire key    
11          */
12         Long expire = jedis.expire("k1", 6);
13         System.out.println("expire = " + expire);
14 
15         /**
16          *   2: expireat :       ,   :expireat key        
17          */
18         Long expireAt = jedis.expireAt("k1", System.currentTimeMillis() + 100);
19         System.out.println("expireAt = " + expireAt);
20 
21         /**
22          *   3:ttl :          ,   :ttl key , -1      ,-2      
23          */
24         Long ttl = jedis.ttl("k1");
25         System.out.println("ttl = " + ttl);
26 
27         /**
28          *   4:persist :        ,   :persist key    key     ;    set  getset         ,          。
29          */
30         Long persist = jedis.persist("k1");
31         System.out.println("persist = " + persist);
32 
33         /**
34          *   5:pttl:          ,   :pttl key 
35          */
36         Long pttl = jedis.pttl("k1");
37         System.out.println("pttl = " + pttl);
38 
39         /**
40          *         
41          *   6:pexpire :       ,   :pexpire key     
42          */
43         Long pexpire = jedis.pexpire("k1", 1000);
44 
45         /**
46          *   7:pexpireat :       ,   :pexpireat key        
47          */
48         Long pexpireAt = jedis.pexpireAt("k1", System.currentTimeMillis());
49         System.out.println("pexpireAt = " + pexpireAt);
50     }
51 }

 
다음으로 전송:https://www.cnblogs.com/xinhuaxuan/p/9315851.html

좋은 웹페이지 즐겨찾기