>  기사  >  백엔드 개발  >  Django의 Redis Cache 서버 사용법에 대한 자세한 설명

Django의 Redis Cache 서버 사용법에 대한 자세한 설명

巴扎黑
巴扎黑원래의
2017-08-17 11:32:381929검색

Redis Memcached와 마찬가지로 고성능 키-값 데이터베이스이기 때문에 Du Niang에서는 매우 명확하게 소개하고 있으므로 여기서는 하나씩 소개하지 않겠습니다. .

그렇다면 우리는 주로 어떤 상황에서 캐시 서버를 사용하나요? 모든 상황에서 필요한 것은 아니지만 일반적으로 필드를 자주 읽어야 하는 경우에만 이 필드를 캐시 서버에 배치해야 합니다. 그리고 키-값 데이터베이스는 일반적으로 매우 간단한 데이터만 저장하므로 저장할 개체를 선택할 때 주의하세요.

이제 Django에서 redis 데이터베이스를 구성하고 사용하는 방법을 소개하겠습니다. 먼저 redis를 설치합니다. Ubuntu에서 다음 명령을 실행합니다.

#Redis 서버 설치

sudo apt-get install redis-server

그런 다음 Django에서 redis를 사용하려면 Django 플러그인용 redis를 설치해야 합니다:

pip install django-redis

이것은 오픈 소스 프로젝트이며, github 주소는 https://github.com/niwibe/django-redis입니다. 작성자에게 감사드립니다.

이제 Django 설정에서 구성됩니다.

CACHES = {
    'default': {
        'BACKEND': 'redis_cache.cache.RedisCache',
        'LOCATION': '127.0.0.1:6379',
        "OPTIONS": {
            "CLIENT_CLASS": "redis_cache.client.DefaultClient",
        },
    },
}
REDIS_TIMEOUT=7*24*60*60
CUBES_REDIS_TIMEOUT=60*60
NEVER_REDIS_TIMEOUT=365*24*60*60

사실 CACHES에는 해당 항목만 필요합니다. 다음 세 문장은 필요하지 않지만 이후 예제에서는 필요하므로 여기서 구성했습니다.

자, 이제 연결과 구성이 완료되었으니 프로젝트에서 어떻게 사용할까요? 다음 예를 살펴보겠습니다.

from django.conf import settings
from django.core.cache import cache
#read cache user id
def read_from_cache(self, user_name):
    key = 'user_id_of_'+user_name
    value = cache.get(key)
    if value == None:
        data = None
    else:
        data = json.loads(value)
    return data
#write cache user id
def write_to_cache(self, user_name):
    key = 'user_id_of_'+user_name
    cache.set(key, json.dumps(user_name), settings.NEVER_REDIS_TIMEOUT)

위의 두 가지 방법을 통해 redis의 읽기 작업을 구현할 수 있습니다. 필수 필드를 메서드에 매개변수로 전달하기만 하면 됩니다.

그럼 앞서 언급한 memcached는 어떨까요? 사실 구성은 똑같습니다:

CACHES = {
    'default': {
        'BACKEND': 'django.core.cache.backends.memcached.MemcachedCache',
        'LOCATION': '127.0.0.1:11211',
    }
}

물론 사용법은 위의 예시와 같습니다. 실제로 Redis와 같은 캐시 서버의 경우 구성이 매우 간단하고 구체적인 사용 방법도 어렵지 않습니다. 참고할 수 있도록 공식 웹 사이트에는 간단하고 명확한 예제가 많이 있습니다. , 무엇을 사용할 것인가 이런 종류의 정보를 redis에 저장하는 것은 우리가 정말로 관심을 가져야 할 것입니다.

위 내용은 Django의 Redis Cache 서버 사용법에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.