본문 바로가기

전체 글

(730)
BOJ1238 https://www.acmicpc.net/problem/1238 1238번: 파티 첫째 줄에 N(1 ≤ N ≤ 1,000), M(1 ≤ M ≤ 10,000), X가 공백으로 구분되어 입력된다. 두 번째 줄부터 M+1번째 줄까지 i번째 도로의 시작점, 끝점, 그리고 이 도로를 지나는데 필요한 소요시간 Ti가 들어 www.acmicpc.net
BOJ1916 https://www.acmicpc.net/problem/1916 1916번: 최소비용 구하기 첫째 줄에 도시의 개수 N(1 ≤ N ≤ 1,000)이 주어지고 둘째 줄에는 버스의 개수 M(1 ≤ M ≤ 100,000)이 주어진다. 그리고 셋째 줄부터 M+2줄까지 다음과 같은 버스의 정보가 주어진다. 먼저 처음에는 그 www.acmicpc.net
BOJ1753 https://www.acmicpc.net/problem/1753 1753번: 최단경로 첫째 줄에 정점의 개수 V와 간선의 개수 E가 주어진다. (1 ≤ V ≤ 20,000, 1 ≤ E ≤ 300,000) 모든 정점에는 1부터 V까지 번호가 매겨져 있다고 가정한다. 둘째 줄에는 시작 정점의 번호 K(1 ≤ K ≤ V)가 www.acmicpc.net
[Redis] Redis Pub Sub 레디스는 메시지를 주고 받는 기능을 제공한다. 따로 메시지를 보관하지 않고, 채널을 구독한, 구독자에게 제공하는것이다. publish, subscribe 의 약자이다. 클러스터링 될때 서로 다른 노드에서 서로 간의 데이터 통신이 필요하면 해당방식으로 데이터를 전달한다.
[Redis] Persistence Redis의 영속성이라고 해석되며 프로그램이 종료되어도 사라지지 않는 데이터 특성이다. Redis는 이 영속성을 어떻게 지킬까? RDB 영속성은 명시된 간격 마다 dateset의 해당 시점의 스냅샷을 수행한다. AOF는 서버로 수신된 모든 쓰기작업을 기록하고, 서버 재시작시에, 수행되서 원래의 데이터셋을 재구축한다. 동일한 인스턴스에서 AOF와 RDB를 결합해서 사용할 수 있다. 자식 프로세스가 forking 하기 때문에 메모리를 2배를 사용할수 있지만, 부모 인스턴스가 디스크I/O를 수행하지 않아 AOF에 비해서 다 빠르게 재시작된다. 일정시간마다 스냅샷이 생성되기 떄문에, 예외 종료시에 데이터를 잃어버릴 수 있다. redis 에서 데이터를 저장하는 방법으로 snapshotting 방식과 AOF방식이 ..
[Redis] Cluster vs Sentinel 1) Sentinel 기능 모니터링 : Master/Salve 제대로 동작하는지 지속적으로 감시 자동 장애 조치 : 하단 알림 : failover되었을때 pub/sub으로 client에게 알리거나, shell script로 이메일이나 sms를 보낼 수 있다. 동작 방식 -Sentinel 인스턴스 과반수 이상이 Master 장애를 감지하면 Slave 중 하나를 Master로 승격, 기존의 Master는 Slave로 강등 시킨다. 과반수 이상은, 단순 sentinel의 네트워크 문제로 해당 이슈가 발생할 수 있기 때문이다. failOver 감지 방법 SDown : Subjectively down (주관적 다운) -seninal에서 주기적으로 Master에게 보내는 Ping과 info응답이 3초 동안, 혹은 ..
[Redis] TTL이란 TTL이란 key가 언제까지 살아있을것인가 하는것이다
[Redis] Eviction 정책 Redis가 사용하는 메모리가 maxMemroy에 지정한 크기보다 커지면 Redis는 사용자가 지정한 Eviction 정책에 따라 저장되어있는 데이터를 제거한 후, 새로운 데이터를 저장한다. 1.noevitcion 꽉 차면 그냥 에러 발생 2.LRU 최근 사용빈도가 작은 걸 삭제, LRU는 많은 메모리가 필요하여, maxmemory-samples 옵션에서 지정한 수의 키로 샘플링하여 LRU 알고리즘의 근사치를 계산한다. 3.Random 무작위 삭제 4.TTL TTL이 짧은 데이터 부터 삭제한다. 5.LFU 최근 사용된 데이터라도 사용수가 적으면 삭제된다.