LFU Eviction (Least Frequently Used)캐시란 무엇인지, 어떤 상황에서 캐시를 사용해야 하는지, 레디스를 캐시로 잘 사용하는 방법과 주의해야 할 점까지 설명한다. 캐시와 비슷한 다른 세션 스토어에 대해서도 알아보자. 캐시란?캐시는 데이터를 임시로 저장하여 빠르고 효율적으로 액세스할 수 있게 하는 저장소이다. 동일한 요청에 대해 데이터를 반복적으로 읽는 것이 아니라 캐시에서 데이터를 가져옴으로써 성능을 향상시킬 수 있다. 캐시의 장점빠른 데이터 접근: 원본 데이터 저장소보다 빠르게 데이터에 접근할 수 있다.데이터 변경이 적음: 자주 변경되지 않는 데이터일 때 유용하다.높은 접근 빈도: 자주 접근하는 데이터에 적합하다. 캐싱 읽기 전략(Look Aside)개념: 애플리케이션이 데이터..
기술 탐구/redis
실시간 리더보드 구현 (sorted set) 게임 내에서 플레이어의 점수를 저장하고 순위를 매길 때 유용하다. ZADD 명령어로 플레이어 점수를 추가하고 ZRANGE 명령어로 순위를 조회함. 점수가 업데이트되면 ZADD 명령어로 새로운 점수를 추가하여 리더보드를 갱신한다.# 플레이어 점수 저장ZADD leaderboard 1000 player1ZADD leaderboard 950 player2ZADD leaderboard 1100 player3# 순위 조회ZRANGE leaderboard 0 -1 WITHSCORES# 플레이어 점수 업데이트ZADD leaderboard 1050 player1# 특정 플레이어의 순위 조회ZREVRANK leaderboard player1 플레이어의 점수가 업데이트되면..
Redis의 자료 구조와 명령어 사용 예시1. String기본적인 자료 구조로, 단일 키에 대해 최대 512MB의 문자열 데이터를 저장할 수 있다.SET key "value" # key에 value를 설정한다GET key # key의 값을 가져온다INCR counter # counter의 값을 1 증가시킨다DECR counter # counter의 값을 1 감소시킨다 2. List순서가 있는 문자열 목록을 저장한다. 최대 4,294,967,295개의 아이템을 저장할 수 있다.LPUSH mylist "A" # mylist의 왼쪽에 "A"를 추가한다RPUSH mylist "B" # mylis..