使用consu生成memcached服务器列表的django模块
django-memcached-consul的Python项目详细描述
django memcached领事馆
django memcached consur帮助使用memcached服务器的consur。 它将查询consunhealthapi,以便在每次使用缓存时获取服务器列表。
用法
配置在django项目的local_settings.py的缓存部分完成。 django memcached consul使用django memcached驱动程序,因此所有与 缓存本身应该像在django memcached中那样进行。
要使用consu,您需要使用特定的django memcached consu驱动程序:
django-consul-memcached.memcached.MemcachedCache
并提供有关领事和所需服务的信息:
CONSUL_HOST # The Consul API host
CONSUL_PORT # The Consul API port
CONSUL_SERVICE # The service of the memcached servers in Consul
可以并且强烈建议为consul使用缓存,否则将调用consunapi 将在每次使用缓存时发出。
django memcached consul使用两层缓存:第一层应该是短生命的(CONSUL_TTL
)
用于缓存memcached服务器列表,每次使用
django consul memcached驱动程序。第二个是长寿命(CONSUL_TTL_ALT
),在
无法访问领事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。
首先需要在默认配置(通常在localhost:11211)上运行memcached,否则
必须更改tests/tests_data/consul_api_health_mock_with_memcached.json
中的信息。
然后,您可以在项目的根目录下运行tox来开始测试:
tox