跳转到主要内容

Django模块,使用consul生成memcached服务器列表

项目描述

django-memcached-consul

django-memcached-consul帮助使用consul进行memcached服务器的配置。每次使用缓存时,它将查询Consul Health API以获取服务器列表。

用法

配置在Django项目的local_settings.py的缓存部分完成。django-memcached-consul使用Django memcached驱动程序,因此所有与缓存本身相关的配置都应像在django memcached中一样完成。

要使用consul,需要使用特定的django-memcached-consul驱动程序:django-consul-memcached.memcached.MemcachedCache

并提供有关Consul和所需服务的信息

CONSUL_HOST # The Consul API host
CONSUL_PORT # The Consul API port
CONSUL_SERVICE # The service of the memcached servers in Consul

强烈建议使用缓存来存储consul,否则每次使用缓存时都会发出Consul API调用。

Django-memcached-consul使用两层缓存:第一层应该是短暂的(CONSUL_TTL),用于缓存memcached服务器列表,并且每次使用django-consul-memcached驱动时都会检索。第二层是长期存在的(CONSUL_TTL_ALT),在无法访问Consul API时检索。要使用的缓存名称在CONSUL_CACHE中设置,并且缓存最好是一个文件缓存,以便跨所有工作进程共享。

示例

CACHES = {
    'default': {
        'BACKEND': 'django_memcached_consul.memcached.MemcachedCache',
        'TIMEOUT': 60,
        'CONSUL_TTL': 60,
        # Alt cache will be used if consul is unreachable
        'CONSUL_ALT_TTL': 3600,
        'CONSUL_CACHE': 'consul-memcached',
        'CONSUL_HOST': 'consul.organization.com',
        'CONSUL_PORT': 8500,
        'CONSUL_SERVICE': 'memcached-service',
    },
    'consul-memcached': {
        'BACKEND': 'django.core.cache.backends.filebased.FileBasedCache',
        'LOCATION': '/var/tmp/django_consul_cache',
    }
}

测试

测试需要memcached和tox。

首先,您需要在默认配置下运行memcached(通常在localhost:11211),否则您将不得不更改tests/tests_data/consul_api_health_mock_with_memcached.json中的信息)。

然后,您可以在项目的根目录下运行tox来启动测试

tox

项目详情


下载文件

下载适用于您的平台文件。如果您不确定选择哪个,请了解有关安装包的更多信息。

源分布

django_memcached_consul-0.2.0.tar.gz (4.3 kB 查看哈希值)

上传时间

由以下组织支持