List 자료구조는 단순 연결 리스트(Singly Linked List) 형태로 구현된 데이터 구조입니다.
리스트는 원소를 순서대로 저장하며, 삽입, 삭제, 조회 등 다양한 연산을 지원합니다.
Redis에서는 List 자료구조를 활용하여, 큐(Queue) 또는 스택(Stack) 구조로 데이터를 처리할 수 있습니다.
List는 배열이 아니며 데이터가 많다면 리스트를 사용하지 않는 것이 좋음
LPUSH key value
RPUSH key value
리스트 개수를 반환

LLEN key

LINDEX key index
인덱스는 0부터 시작

LRANGE key start end

LPOS key value [RANK][COUNT] [MAXLEN]
RANK : 무시 (순서) → RANK 2 : 처음으로 등장하는 값은 무시하고 두번째 값을 조회합니다
COUNT : 배열을 반환 → COUNT 2 : 등장하는 2개를 찾아라
MAXLEN : 최대 길이



LPOP key [COUNT]
RPOP key [COUNT]
COUNT : pop할 개수
마지막으로 POP한 값을 반환

LSET key index value
index의 값을 value로 변환

LTRIM key start end

LINSERT key where value1 value2
where : BEFROE || AFTER → value1 이전 or 이후에 넣을 지?
value1의 이전 혹은 이후에 value2를 삽입

LREM key count value
value를 count만큼 삭제.
count가 양수 → 왼쪽부터 시작
count 0 → 모두 삭제
count가 음수 → 오른쪽부터 시작

HyperLogLog는 대규모 데이터 집합에 대해 고유 원소의 개수(즉, 집합의 cardinality)를 추정하는 데 사용되는 데이터 구조입니다.
정확한 개수가 아니라 근사치를 계산하며, 매우 적은 메모리로도 효율적인 계산을 수행할 수 있다는 장점이 있습니다.
정보) Logging과는 전혀 관련없다
대규모 데이터의 고유 원소 수를 빠르게 추정해야 하는 상황에 적합.
ex) 웹 페이지의 고유 방문자 수 추정 → 단순히 방문자 수 or 조회 수를 확인하는 것뿐인데 따로 DB에 저장하는 것은 굳이????? 라는 이유 때문.
ex) 대규모 이벤트 스트림의 고유 이벤트 수 추정
PFADD key value1 value2 …

PFCOUNT key
