9. Redis 처리 기한 이 지난 keys 의 메커니즘
책 을 읽 으 면 만 권 이 깨 지고 코드 는 신 이 있 는 것 같다.
--------------------------------------------------------------------
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
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.