List Linked List 형태이며, Head 와 Tail 에 요소를 추가할 때 동일한 시간이 소요됩니다. 특정 값이나 인덱스로 데이터를 찾거나 삭제할 수 있습니다. List는 다음과 같은 용도로 자주 사용됩니다. stack, queue 를 구현합니다. 백드라운드 작업자 시스템을 위한 대기열 관리를 구축합니다. pub/sub, job queue 로 활용할 수 있습니다. Redis List의 최대 길이는 2^32 - 1(4,294,967,295) 입니다. 기본명령 LPUSH : 앞쪽에 Push RPUSH : 뒤쪽에 Push LPOP : 앞쪽에서부터 꺼냄 RPOP : 뒤쪽에서부터 꺼냄 LLEN : List의 크기를 반환 LRANGE : 범위 내에 값 확인 -1 일 경우, 전체 Example LPUSH :..
String 텍스트, 직렬화된 개체 및 이진 배열을 포함하여 바이트 시퀀스를 저장합니다. 문자열은 Redis 에서 가장 기본적인 데이터 유형입니다. 캐싱에 자주 사용되며, 카우터를 구현하고 비트연산을 수행할 수 있는 추가 기능도 지원 단일 Redis 문자열은 최대 512MB 입니다. 기본명령 -- 단일 문자열 저장 SET GET -- 다중 문자열 저장 MSET ... MGET ... -- 키가 아직 존재 하지 않을 경우에만 문자열 값 저장 SETNX Value 가 숫자형태라면, 증감도 가능하다. INCR, INCRBY, INCRBYFLOAT atomic 하게 증감하는 커멘드이다. -- 정수 INCR INCRBY -- 부동소수점 INCRBYFLOAT 참조 https://redis.io/commands/?g..
들어가며 개인 적으로 좀 더 정리하고자 늦은감은 있지만 Redis에 대해서 정리 중입니다. Redis 에서 가장 많이 사용되는 Collection에 대한 내용과, 데이터 타입의 종류에 대해서 간략하게 정리해보려고 합니다. Collection 이 중요한 이유 다양한 자료구조를 지원합니다. 다양한 자료구조를 Key-Value 형태로 저장합니다. 개발의 편의성과 난이도 제공. 외부의 Collections을 잘 이용하는 것만으로 개발 시간 단축이 가능하고, 생각하지 못한 여러가지 문제를 줄여줄 수 있으므로 개발자는 비즈니스 로직에 집중할 수 있다는 큰 장점이 존재합니다. 주된 Redis 사용처 원격 데이터 저장소로 사용되며, 각 서버의 데이터를 공유하고 싶을 때 사용됩니다. 인증 및 토큰 저장소 랭킹 유저 세션..
들어가며 요즘 서버 환경을 구성하는 단계에서 빠지지 않는 구성중에 하나라고 생각이 듭니다. 개인 적으로 좀 더 정리하고자 늦은감은 있지만 Redis에 대해서 정리하였습니다. 1. Redis 란? 레디스는 REmote DIctionary Server 를 나타내는 약자로서, 2009년 살바토르 산필리포(Salvatore Sanfilippo)가 C언어로 레디스를 개발했다. Key-Value 형식의 고성능의 In-memory 데이터베이스로서, 모든 데이터를 메모리에 저장하기 때문에 읽기와 쓰기 명령이 매우 빠른 장점을 가지고 있다. 2015년부터 Redis Labs이 지원하고 있으며, 모든 데이터를 메모리로 불러와서 처리하는 메모리 기반 DBMS이다. 개방형 소스 (BSD 라이선스) 를 따른다. 2. Redis..
들어가며 gRPC에 대한 내용을 간단하게 정리해봤으나, 실질적으로 동작하는 부분까지 확인을 직접 해보는게 좋을거 같아서 직접 프로젝트를 구성해봤습니다. 요즘의 서버는 다양한 개발환경으로 구성이 되어 있는데요. 각 서버간의 통신에 RESTFul API를 이용해서 구성하기도 하지만, gRPC를 이용해서 보다 빠른 환경으로 구성할 수 있을 거 같네요. Service 프로젝트 만들기 새로운 프로젝트를 만들때, gRPC 서비스 템플릿을 이용해서 프로젝트를 생성 할 수 있습니다. 이후 기본적인 위치 및 프로젝트 이름을 생성해서 프로젝트를 만들 수 있습니다. Client 프로젝트 만들기 클라이언트 프로젝트의 경우에는, 콘솔 어플리케이션 템플릿으로 생성 하였습니다. 이후, 아래의 내용을 참고해서 Nuget Packag..