본문 바로가기
반응형

프로그래밍/데이터베이스15

C# StackExchange로 Redis Hashes 데이터 구조 사용하기 Redis Hashes 사용하기Redis의 Hashes 데이터 타입은 필드-값 쌍을 저장하는 해시 맵 구조를 제공한다. 필드 수준에서 읽고 쓰는 작업을 효과적으로 처리할 때 유용하며, 특히 개별 필드를 찾거나 업데이트할 때 빠른 성능을 제공한다. Hashes는 사용자 프로필, 설정, 카운터, 주소 정보와 같이 다양한 데이터 구조에 적용할 수 있다. 해시 테이블(Hash Table)이란?해시 테이블(Hash Table)이란?데이터의 삽입, 제거, 탐색이 모두 O(1)으로 매우 빠름내부적으로 정렬되지 않음저장할 데이터의 수보다 더 많은 공간이 필요해싱(Hashing)해시 테이블은 키를 해시 함수(jettstream.tistory.comC#에서 레디스 Hashes 사용 예제 코드public class Redi.. 2024. 12. 4.
C# StackExchange로 Redis Sets 데이터 구조 사용하기 Redis Sets 사용하기Redis Sets는 중복을 허용하지 않는 고유한 값들의 컬렉션을 저장하는 데이터 타입이다.Sets는 집합 연산(교집합, 합집합, 차집합)을 지원하며 멤버 간의 관계를 파악하거나 필요한 멤버를 추출하는데 유용하다. 태그, 관심 주제, 온라인 사용자 목록과 같은 다양한 시나리오에서 중복 제거 및 멤버십 검사와 같은 작업을 효율적으로 수행할 수 있다.C#에서 레디스 Sets 사용 예제 코드public class RedisSetExample{ private readonly IDatabase _db; public RedisSetExample(IDatabase db) { _db = db; } public void AddTag(string itemI.. 2024. 12. 3.
C# StackExchange로 Redis Strings 데이터 구조 사용하기 Redis 문자열 사용하기Redis의 문자열은 가장 기본적이면서도 다양하게 활용할 수 있는 데이터 구조이다.단순한 key-value 쌍부터 카운터, 비트 연산까지 다양한 용도로 사용이 가능하다.C#에서 레디스 Strings 문자열 사용 예제 코드public class RedisStringExample{ private readonly IDatabase _db; public RedisStringExample(IDatabase db) { _db = db; } public void SetSimpleKeyValue(string key, string value) { _db.StringSet(key, value); } public string Get.. 2024. 12. 2.
레디스(Redis) TTL 설정하기 레디스의 TTL(Time To Live) 특성 지정된 시간이 지나면 자동으로 키가 삭제된다. 만료 시간을 설정하지 않으면 사용자가 명시적으로 삭제하지 않는 한 영원히 저장된다. 현재 컴퓨터 시간을 기반으로 TTL이 동작하기 때문에 만료 시간을 1000초로 설정해 놓고 현재 컴퓨터 시간을 2000초로 바꾸면 즉시 만료된다. 현재 컴퓨터 시간을 기반으로 TTL이 동작하기에, 레디스 인스턴스가 켜져 있지 않더라도 시간이 카운팅 된다. 명령어로 TTL 설정하기 set [key] [value] 키-값 추가하기 expire [key] [seconds] 만료될 시간 추가하기 expire [key] [seconds from Unix start point] 만료될 시간 추가하기 (Unix timestamp를 기준으로 작.. 2024. 4. 23.
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.