레디스 (Remote Dictionary Server, REDIS) 란 원격에서 접근 가능한 키-값 저장소 를 의미합니다.
Redis 는 Key-Value 기반의 NoSQL 데이터베이스이며 메모리에 올려두고 사용하는 데이터 저장소 입니다.
명령어 | 설명 |
PING | Redis 연결 확인 |
AUTH <password> | 비밀번호 인증 |
SELECT <db> | DB 선택 (기본값: 0) |
FLUSHALL | 모든 데이터베이스 초기화 |
FLUSHDB | 현재 DB의 모든 키 삭제 |
DBSIZE | 현재 DB의 키 개수 확인 |
KEYS * | 모든 키 조회 |
EXISTS <key> | 특정 키 존재 여부 확인 |
DEL <key> | 특정 키 삭제 |
EXPIRE <key> <seconds> | 키의 TTL(Time To Live) 설정 |
TTL <key> | 키의 남은 TTL 확인 |
명령어 | 설명 |
APPEND <key> <value> | 문자열에 값 추가 |
INCR <key> | 값 1 증가 (숫자) |
DECR <key> | 값 1 감소 (숫자) |
INCRBY <key> <amount> | 지정한 만큼 증가 |
SET <key> <value> | 문자열 값 저장 |
GET <key> | 값 가져오기 |
MSET <key1> <value1> <key2> <value2> | 여러 키 한 번에 저장 |
MGET <key1> <key2> | 여러 키 한 번에 가져오기 |
SETRANGE <key> <offset> <value> | 특정 위치부터 문자열 변경 |
GETRANGE <key> <start> <end> | 문자열의 일부를 반환 |
명령어 | 설명 |
LPUSH <key> <value> | 왼쪽(앞)에 값 추가 |
RPUSH <key> <value> | 오른쪽(뒤)에 값 추가 |
LPOP <key> | 왼쪽(앞) 값 제거 및 반환 |
RPOP<key> | 오른쪽(뒤) 값 제거 및 반환 |
LRANGE <key> <start> <stop> | 범위 내 요소 조회 |
LLEN <key> | 리스트 길이 반환 |
명령어 | 설명 |
SADD <key> <value> | 값 추가 |
SMEMBERS <key> | 모든 값 조회 |
SREM <key> <value> | 특정 값 제거 |
SCARD <key> | 집합의 크기(요소 개수) 반환 |
SISMEMBER <key> <value> | 특정 값 존재 여부 확인 (1: 존재, 0: 없음) |
SUNION <key1> <key2> | 두 집합의 합집합 반환 |
SINTER <key1> <key2> | 두 집합의 교집합 반환 |
SDIFF <key1> <key2> | 두 집합의 차집합 반환 |
명령어 | 설명 |
HSET <key> <field> <value> | 해시에 필드-값 추가 |
HGET <key> <field> | 특정 필드의 값 가져오기 |
HGETALL <key> | 모든 필드-값 조회 |
HDEL <key> <field> | 특정 필드 삭제 |
HEXISTS <key> <field> | 필드 존재 여부 확인 (1: 존재, 0: 없음) |
HLEN <key> | 해시의 필드 개수 반환 |
명령어 | 설명 |
ZADD <key> <score> <value> | 정렬된 집합에 요소 추가 |
ZREM <key> <value> | 특정 요소 제거 |
ZRANGE <key> <start> <stop> [WITHSCORES] | 특정 범위의 요소 조회 |
ZREVRANGE <key> <start> <stop> | 내림차순 정렬 |
ZSCORE <key> <value> | 특정 요소의 점수 반환 |
ZRANK <key> <value> | 특정 요소의 순위 반환 |
명령어 | 설명 |
MULTI | 트랜잭션 시작 |
EXEC | 트랜잭션 실행 |
DISCARD | 트랜잭션 취소 |
WATCH <key> | 특정 키 감시 (동시성 제어) |
명령어 | 설명 |
PUBLISH <channel> <message> | 특정 채널에 메시지 전송 |
SUBSCRIBE <channel> | 특정 채널 구독 |
UNSUBSCRIBE <channel> | 채널 구독 해제 |
명령어 | 설명 |
FLUSHALL | 모든 데이터 삭제 |
FLUSHDB | 현재 DB 데이터 삭제 |
INFO | Redis 서버 정보 조회 |
MONITOR | Redis 실시간 요청 로그 보기 |
DBSIZE | 현재 DB의 키 개수 확인 |
유저 정보 저장/조회/삭제
SET user:1:name "Kim"
GET user:1:name
DEL user:1:name
카운터 증가/감소
INCR visit:counter
INCR visit:counter
DECR visit:counter
GET visit:counter
로그인 접속 기록 저장 예시
LPUSH login:history "user1"
LPUSH login:history "user2"
LRANGE login:history 0 -1
LPOP login:history
RPUSH login:history "user3"
RPOP login:history
인기 검색어 순위 관리 예시
ZINCRBY search:rank 1 "Redis"
ZINCRBY search:rank 1 "Python"
ZINCRBY search:rank 1 "Redis"
ZRANGE search:rank 0 -1 WITHSCORES
로그인 세션 관리 예시
SET session:user:1 "session_token_value"
EXPIRE session:user:1 300
TTL session:user:1
EXISTS user:1
즐거운 코딩하세요 :)
Offset vs Cursor Pagination 처리 방식 (0) | 2024.05.21 |
---|