ZRANGEBYSCORE (v.1.0.5)
ZRANGEBYSCORE key min max [WITHSCORES] [LIMIT offset count]
- WITHSCORES : 요소와 Score를 모두 반환한다. (v.2.0)
- 시간복잡도 : O(log(N)+M)
- N : zSet의 요소 갯수
- M : 반환되는 zSet 요소 갯수
- M이 동일하다면 (LIMIT 설정) O(log(N))이 될 수 있다.
ZRANGEBYSCORE geo:locationsExpire -INF +INF WITHSCORES
result) '1'
result) '3600'
- geo:locaitonsExpire 이름의 zSet의 모든 멤버와 Score를 조회한다.
- 1 멤버에 저장된 3600 Score를 출력한다.
만료 이벤트
만료 시간 설정: EXPIRE (v 1.0)
EXPIRE key seconds [NX|XX|GT|LT]
- Seconds 시간이 지날경우 key를 삭제
- [NX|XX|GT|LT] (v 7.0)
- NX -- 만료시간이 설정 되어 있지 않은 경우에만 만료 설정
- XX -- 만료시간이 설정 되어 있는 경우에만 만료 설정
- GT -- 삽입할 만료 시간이 현재 만료 시간보다 클 때만 만료 설정
- LT -- 삽입할 만료 시간이 현재 만료 시간보다 작은 경우에만 만료 설정
- 시간복잡도 : O(1)
EXPIRE socketMap 3600
- socketMap이라는 Key값을 1시간 이후에 삭제한다
남은 시간 확인: TTL (v.1.0)
TTL key
- 시간복잡도 : O(1)
TTL socketMap
result) 3599
- socketMap에 삭제 예정시간을 출력한다.
만료 시간 삭제: PERSIST (v.2.2.0)
PERSIST key
- 시간복잡도 : O(1)
PERSIST socketMap
- socketMap에 지정된 timeout 시간을 삭제한다.
MULTI EXEC Transaction
Redis 트랜잭션의 특징 ☆
- Roll-Back 기능을 지원하지 않는다.
- 트랜잭션 내부에서 에러가 발생하더라도 전체 트랜잭션은 Roll-Back 되지 않으며,
- 에러가 발생하지 않은 command는 정상 실행된다.
MULTI
- 트랜잭션 블록의 시작을 표시
EXEC
- 트랜잭션 에서 이전에 대기 중인 모든 명령을 실행하고 연결 상태를 정상으로 복원한다.
MULTI
SET name '1'
GET name
EXEC
- string 형식인 name에 1을 저장하고,
- name의 데이터를 가져온다.
'항해99 > 필기노트' 카테고리의 다른 글
[필기노트] MySQL Index (0) | 2021.09.10 |
---|---|
[필기노트] MySQL VIEW, API (0) | 2021.08.20 |
[필기노트] MySQL Group_concat, Event Scheduler (0) | 2021.08.17 |
[필기노트] SQL, React 연동 (0) | 2021.08.13 |
[필기노트] MySQL 모임 초대 DB, SQL (0) | 2021.08.12 |