본문 바로가기

redis7

도커(Docker)로 설치한 레디스(redis) 버전 확인하기 Docker로 설치한 redis 버전 확인redis 버전이 올라감에 따라서 지원하는 기능들이 상이하기 때문에 Docker에 설치된 redis의 버전을 확인해야 할 때가 있다.Docker Desktop에서 redis의 버전을 확인해보자.Docker Desktop에서 redis 컨테이너 클릭우선 docker로 redis를 실행했다고 가정하고 현재 실행 중인 redis를 클릭하자.Exec 탭 클릭redis-cli 입력info 입력해당 상태에서 'info'를 입력하면 redis의 정보 확인이 가능하다.함께 읽으면 좋은 글 도커(Docker)로 레디스(redis) 실행하기항상 동일한 환경으로 레디스 실행하기 메모리에 상주하는 레디스(Redis)는 인메모리 방식으로 다른 RDS와 다르게 엄청난 속도를 보장한다. 이.. 2024. 10. 17.
도커(Docker)로 레디스(redis) 실행하기 항상 동일한 환경으로 레디스 실행하기 메모리에 상주하는 레디스(Redis)는 인메모리 방식으로 다른 RDS와 다르게 엄청난 속도를 보장한다. 이런 레디스를 항상 동일한 환경으로 배포해보자. 도커를 이용하면 가능하다. 도커 공식 이미지 가져오기 파워쉘에서 아래 커맨드 입력시 공식 이미지를 pull 해온다. docker pull redis redis - Official Image | Docker Hub Quick reference Supported tags and respective Dockerfile links 7.2.4, 7.2, 7, latest, 7.2.4-bookworm, 7.2-bookworm, 7-bookworm, bookworm 7.2.4-alpine, 7.2-alpine, 7-alpine, .. 2024. 3. 25.
StackExchange.Redis Subscribe()로 구독하기 Subscribe()로 구독하기 해당되는 채널명으로 구독을 설정하면 해당 채널로 오는 메시지를 수신할 수 있다. ISubscriber sub = redis.GetSubscriber(); sub.Subscribe("messages", (channel, message) => { Console.WriteLine((string)message); }); Publish()로 발행하기 해당하는 채널명으로 발행하면 원하는 메세지를 발행할 수 있다. sub.Publish("messages", "hello"); Pub/Sub 메세지 순서 pub/sub API를 사용할 때 동일한 연결의 메시지를 순차적으로 처리해야하는지 아니면 동시에 처리해야 하는지에 대한 결정을 해야 한다. 가능하다면 동시 처리를 사용하는 것이 좋다. 순.. 2023. 12. 27.
Redis 자료구조(Data Structures) Redis 자료구조Strings : Binary-safe 한 기본적인 key-value 구조Lists : 삽입 순서에 따라 정렬된 문자열 요소 컬렉션을 보유Sets : 고유한 멤버 집합을 저장Sorted sets : 부동 소수점 점수로 정렬된 고유한 멤버 집합Hashes : 내부에 sub-key - value를 하나 더 가지는 데이터 구조Bit arrays(bitMaps) : Binary 로직과 상태를 저장하는 압축 데이터 구조HyperLogLogs : 일정한 메모리 크기에서 고유 값을 계산하는 데 사용되는 확률적 데이터 구조Streams : 고속 데이터 스트림(예:메시지 대기열)을 관리하기 위한 데이터 구조Strings값은 최대 512mb단순 증감 연산에 좋음명령어 리스트 .. 2023. 5. 30.
C# StackExchange.Redis로 Redis 사용하기 Redis 테스트에 사용할 C# 프로젝트를 생성해준다. Nuget에서 redis로 검색하고 StackExchange.Redis를 설치한다. 사전 준비 레디스 데이터베이스 이용하기 간단하게 redis 데이터베이스에 접근할 수 있다. IDatabase db = redis.GetDatabase(); GetDatabase() 메서드에서 반환된 오브젝트는 싸게 쓰고 버리는 오브젝트라서 별도로 저장하지 않아도 된다. 개별 서버들에 접근하기 유지보수 목적으로 특정 서버에 접속해야만 하는 상황이 발생할 수 있다. IServer server = redis.GetServer("localhost", 6379); GetServer() 메서드는 EndPoint 또는 IPAddress, Port등의 식별자를 받아서 오브젝트를 반.. 2023. 5. 26.
C# redis에서 Key들을 pattern으로 조회하기 C# 프로젝트에서 redis를 사용하기 위해서 StackExchange.Redis 를 사용해서 구현하였다. 그리고 redis에서 pattern을 이용해서 key값들을 가져오는 함수 Keys()에 대해서 알아보자 함수 원형 // 요약: // Returns all keys matching pattern; the KEYS or SCAN commands will be used based // on the server capabilities; note: to resume an iteration via cursor, cast the // original enumerable or enumerator to IScanningCursor. // // 매개 변수: // database: // The database ID. .. 2023. 5. 25.