2014-03-01 1 views
12

저는 Memcached, Redis 및 Varnish에 대해 매우 혼란 스럽습니다. 나는 그들이 캐싱에 사용된다는 것을 알고 있지만, 얼마나 도움이되는지, 그리고 어느 것을 사용해야 하는지를 어떻게 알지는 못합니다.Memcached, Redis 및 Varnish 중에서 어떻게 선택합니까?

그리고 마지막으로, 사용자가 업로드 한 사진과 비디오가있는 사이트에 대해 무엇을 사용했는지 알고 싶습니다. 도움이된다면 장고 프레임 워크를 사용하고 있습니다.

+0

http://stackoverflow.com/questions/4490140/memcached-vs- 스피드 - 와셔 - 3-tier-web-architecture –

답변

13

Varnish는 실제 웹 서버 (apache, nginx 등) 앞에서 리버스 프록시로 실행되는 서버로, 서버의 응답을 별도로 저장하고이를 제공하기로 결정할 수 있습니다. 요청을 백엔드 (웹 서버)에 전달하지 않고 후속 요청을하면 HTML 캐싱과 비슷합니다.

Memcached 및 redis는 실제로 데이터 저장 서버, 특히 키 - 값 저장 서버입니다. 파이썬에 관해서는 거대한 '사전'이라고 말할 수 있습니다. 키로 값을 설정하고 키로 검색 할 수 있습니다. 둘 사이에는 몇 가지 차이점이 있습니다. 단순히 memcached와 redis를 비교할 수 있습니다.

4

저는 장고와 memcached를 사용하고 있습니다. 그래서 장고를 사용하는 방법을 말할 수 있습니다.
로드하는 데 약간의 시간 (몇 초)이 걸리는 데이터가 거의 변하지 않습니다. 로딩 시간이 memcached를 사용 (10)

의 비율로 감소되도록 그들, 초 분수에 초를 켜집니다 캐싱
은 매우 간단합니다 :

  1. 설치하고 OS에 대한 memcached를 실행합니다.

  2. 캐싱 메커니즘으로 장고를 사용하도록 구성하십시오. settings.py 또는 동급에서
    BACKEND 옵션 설정 :
    'BACKEND': 'django.core.cache.backends.memcached.MemcachedCache'

  3. 스토어와 memcached를에서 데이터를 검색 :

    from django.core.cache import cache 
    cache.set('myData',myData) 
    # ... in another place: 
    myData = cache.get('myData') 
    if not myData: 
        # re-calculate myData in case of a 'cache miss', then re-caching it. 
        # myData = <calculations> 
        cache.set('myData',myData)