Skip to content
Lee Dogyeong edited this page Nov 28, 2020 · 1 revision

Session 정보를 어디에 저장할까?

  • 메모리에?
    • production 환경에서는 적합하지 않다고 한다 express-session 참고
  • php는 파일로 저장
  • spring은 redis 사용

NoSQL vs SQL Databases

NoSQL이 읽는 속도가 더 빠르다고 한다


Redis vs Memcached vs MongoDB

https://db-engines.com/en/system/Redis%3BMemcached%3BMongoDB

항목 Redis Memcached MongoDB

설명 In-memory 데이터 구조 저장소, 데이터베이스, 캐시, 메시지 브로커에 사용된다 In-memory 키-밸류 저장소, 캐싱 용도로 사용된다 가장 널리 쓰이는 문서 저장소(document stroe)
데이터베이스 모델 Key-value store Key-value store Document store
개발 연도 2009 2003 2009
데이터 타입 string, hash, list, set, sorted set, bit array, hyperloglog, geospatial index string string, integer, double, decimal, boolean, date, object_id, geospatial

Redis vs Memcached

  • 맴캐쉬드는 명료하고 단순함을 위하여 개발된 반면, 레디스는 다양한 용도에 효과적으로 사용할 수 있도록 많은 특징을 가지고 개발되었습니다
  • 공통점
    • 둘 다 데이터를 메모리에 저장하기 때문에 1ms 이하의 빠른 응답대기시간을 가집니다
  • Redis 👍
    • Redis가 더 다양한 자료구조를 지원합니다
    • Memcached는 메모리에만 저장해서 장애가 발생하면 데이터가 유실되지만, Redis는 디스크에도 저장하므로 데이터 복구가 가능합니다
    • 데이터 삭제 정책이 다양하다. Memcached는 LRU 삭제 정책만 지원한다. 반면 Redis는 좀더 다양하다
    • 한 개의 키에 저장할 수 있는 VALUE의 범위가 521MB로, 1MB인 Memcached에 비해 더 크다
  • Memcached 👍
    • Memcahed는 멀티스레드를 지원하기 때문에 멀티코어프로세서를 사용하는 환경에서 더 많은 작업처리를 할 수 있습니다
    • 메모리는 Memcached가 더 적게 요구합니다 (Redis는 필요한 메모리의 2배가 필요함)

대부분의 경우에서는 Redis를 추천하는 것으로 보입니다


Redis vs MongoDB

Clone this wiki locally