Redis Architecture 4

Redis Memory LFU(Least Frequently Used) 캐시

Redis Memory LFU(Least Frequently Used) 캐시 · Version : Redis 4.0 Redis 4.0 부터 제공되는 LFU 알고리즘 캐시는 자주 참조되는 데이터만 배치하고 그렇지 않은 데이터들은 메모리로부터 제거하여 자주 사용되는 데이터들이 메모리에 배치되도록하는 알고리즘이다. LRU 알고리즘은 최근에 액세스 했지만 실제로는 거의 요청하지 않는 항목에 대해서도 메모리에 보관하고 자주 요청되는 키에 대해서는 만료가 되기 때문에 의도하지 않은 성능이 나타날 수도 있다. LFU는 Approximated LRU와 유사하다. 모리스 카운터라고 하는 확률적 카운터를 사용하여 개체의 액세스 빈도를 계산하고 감쇠 기간과 결합하여 시간이 지남에 따라 카운터가 감소한다. 알고리즘은 액세스 ..

NoSql, MemoryDB 2019.06.07

Redis Memory LRU(Least Recently Used) 캐시

Redis Memory LRU(Least Recently Used) 캐시 · Version : Redis 3.2.100 (Windows) Redis에서 캐시로 사용되는 알고리즘으로 LRU(Least Recently Used)를 사용한다. LRU 알고리즘은 최근에 사용된 데이터들은 재사용이 될 가능성이 높다고 판단하여 계속해서 메모리에 상주 시킬수 있도록 재배치 하는 작업이다. LRU 알고리즘으로 Redis 서버 인스턴스를 운영하기 위해서는CONFIG SET 명령어 또는 redis.conf 파일에서 아래 파라메터를 수정한다. · maxmemory · maxmemory-samples 5 maxmemory 파라메터는 Redis 서버에 할당할 수 있는 최대 메모리 크기이며, 이 값을 0로 설정할 경우 최대 메모..

NoSql, MemoryDB 2019.06.04

Redis Memory 정보

Redis Memory 정보 · Version : Redis 3.2.100 (Windows) Redis에서 info명령은 서버의 각종 통계 및 상태를 보여준다. 다양한 매개 변수를 사용하여 특정 정보를 확인할 수 있으며 이번 포스트에서는 메모리 관련 정보를 확인해본다. Redis에 접속하여 Redis info 명령을 실행하면 메모리 관련 사용 정보를 반환한다. info memory · *_human 값은 동일 항목의 byte 값을 Kbyte로 변환하여 나타낸 값 Info linst Comments used_memory Redis 서버에 현재 할당된(libc, jemalloc, tcmalloc 등) 메모리 크기 (byte) used_memory_rss 운영체제에서 볼 때 Redis가 할당한 byte 수. ..

NoSql, MemoryDB 2019.05.21

Redis Architecture

Redis Architecture · Version : Redis 3.2.100 (Windows) 아래 그림은 Redis Server Architecture 이며, 크게 3가지 영역인, 메모리, 파일, 프로세스 영역으로 구성되어 있다. [메모리 영역] · Resident Area (Working Set) : 사용자가 Redis 서버에 접속해서 처리하는 모든 데이터가 가정 먼저 저장되는 영역이며 실제 작업이 수행되는 영역. · Data Structure : Redis를 운영하기 위한 다양한 정보를 저장하고 관리하기 위한 영역. [파일 영역] · AOF 파일 : 메모리에 저장된 사용자 데이터를 파일에 기록하는 영역 (스냅샷 데이터) · DUMP 파일 : 소량의 데이터를 일시적으로 저장할때 사용하는 영역 [프..

NoSql, MemoryDB 2019.05.18