Redis/redis 8

[Redis] Redis Pub / Sub

1. Redis Pub / Sub 이란?   - cluster 에 포함된 모든 노드에게 전송 가능  - 구독 상태일 때는 command 실행 불가  - 애플리케이션에 더 강력한 전달 보장이 필요한 경우 Redis Streams 사용 필요    2. Redis Pub / Sub 사용 방법   - SUBSCRIBE channel [channel ...]  으로 1개 이상의 채널 구독 가능 127.0.0.1:6379> SUBSCRIBE ROOM1Reading messages... (press Ctrl-C to quit)1) "subscribe"2) "ROOM1"3) (integer) 1      - PUBLISH [채널명] [메시지] 로 게시 가능 127.0.0.1:6379> PUBLISH ROOM1 star..

Redis/redis 2024.05.14

[Redis] Streams

1. Redis Streams 란?  -  Append only log 구조  - 이벤트 저장  - 개인 알림 데이터 저장  2. Redis Streams 사용 방법  -  XADD 로 데이터 저장 ( XADD [key] [entryId] [field] [value] )> XADD mystream * message "abc" "def" "ghi""1526153049474-56"   -  XRANGE 로 범위 데이터 출력XRANGE mystream - +1) 1) "1526153049474-56" 2) 1) "abc" 2) "def" 3) "ghi"   -  GROUP로 분산 처리 가능  XGROUP CREATE [stream key] [group name] $ 방법으로 생성할 수 있..

Redis/redis 2024.05.10

[Redis] sorted sets

1. Redis sorted sets 란?   - 정렬된 집합   - Score를 기준으로 정렬됨   2. Redis sorted sets 사용 방법   - ZADD와 ZREM 로 데이터 입력 및 제거 가능> ZADD trip_scores 10 tripId:1(integer) 1> ZADD trip_scores 12 tripId:3(integer) 1> ZADD trip_scores 8 tripId:5 9 tripId:8 6 tripId:11 14 tripId:20(integer) 4> ZREM trip_scores tripId:20(integer) 1     - ZRANGE(오름차순)와 ZREVRAMGE(내림차순) 로 데이터 출력 가능> ZRANGE trip_scores 0 -11) "tripId:11..

Redis/redis 2024.05.09

[Redis] hashes

1. Redis hashes 란?   - 필드-값 쌍의 컬렉션으로 구성된 레코드 유형   - Python 의 Dictionary, Java 의 HashMap 과 유사  2. Redis hashes 사용 방법  - HSET, HGET 으로 데이터 입 출력 가능 > HSET tripId:1 title 여행 content 여행후기 hashtag 바닷가 id 1(integer) 4> HGET tripId:1 title"여행"> HGET tripId:1 hashtag"바닷가"> HGETALL tripId:11) "title"2) "여행"3) "content"4) "여행후기"5) "hashtag"6) "바닷가"7) "id"8) "1"    - HMGET 으로 field 조회 가능> HMGET tripId:1 tit..

Redis/redis 2024.05.09

[Redis] sets

1. Redis Sets 란?   - 순서가 지정되지 않은 컬렉션  - 일반적인 집합 연산 수행   2. Redis Sets 사용 방법  - SADD, SREM 로 데이터를 입력 및 삭제> SADD trips:recommend:1 tripId:1(integer) 1> SADD trips:recommend:1 tripId:2(integer) 0> SADD trips:recommend:2 tripId:1 tripId:3(integer) 2    - SISMEMBER 로 해당 키값이 존재하는지 확인> SISMEMBER trips:recommend:1 tripId:1(integer) 1> SISMEMBER trips:recommend:1 tripId:2(integer) 0    - SINTER로 교집합 확인> ..

Redis/redis 2024.05.09

[Redis] lists

1. Redis Lists 란?   - 문자열 리스트   - 스택으로 사용 가능   - 큐로 사용 가능 2. Redis Lists 사용 방법  - LPUSH, LPOP, RPUSH, RPOP 으로 데이터 입 출력 가능 > LPUSH trip:titles 1번글(integer) 1> LPUSH trip:titles 2번글(integer) 2> RPOP trip:titles"1번글"> RPOP trip:titles"2번글"> LPUSH trip:titles 1번글(integer) 1> LPUSH trip:titles 2번글(integer) 2> LPOP trip:titles"2번글"> LPOP trip:titles"1번글"   - LLEN 으로 리스트 길이 확인 가능> LLEN trip:titles(inte..

Redis/redis 2024.05.07

[Redis] String

1. Redis String 이란?   - 문자열 텍스트  - 직렬화 된 객체  - 바이너리 배열   2. Redis String 사용법  - SET [Key 값] [value 값] 으로 데이터 저장  - GET [Key 값] 으로 데이터 조회 > SET trip:1 가족여행 OK > GET trip:1 "가족여행"  - 특별한 옵션 설정 가능 nx: 키가 있는 경우 실패,  xx: 키가 이미 있는 경우에만 성공    > set trip:1 분위기 nx (nil) > set trip:1 분위기 xx OK  - 명령을 묶어서 처리할 수 도 있음  > mset trip:1 가족여행 trip:2 분위기 trip:3 해변 OK > mget trip:1 ..

Redis/redis 2024.05.07

[Redis] redis 란?

* 참고 사이트 : https://redis.io/docs/latest/develop/data-types/ Understand Redis data typesOverview of data types supported by Redisredis.io 1. Redis 란?  - 인메모리 데이터 저장소로서 주로 캐싱, 세션 관리, 메시징 등 다양한 용도로 사용되는 오픈 소스 데이터베이스  - 다양한 데이터 구조 지원  - 영속성 사용 가능  - 높은 가용성 및 확장성  - Pub/Sub 메커니즘 지원  2. Redis 데이터 타입  -  Strings  -  Lists  -  Sets  -  Hashes  -  Sorted sets  -  Streams  -  Geospatial indexes  -  Bitmap..

Redis/redis 2024.05.07