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 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | da5eeedbcd9ec7e7c671bc43335f6af1aba7b0064918902c06a422fd298278e2 |
|
MD5 | 5e991e81745ab0ff59c8c6d8d11a168c |
|
BLAKE2b-256 | 1ce6ef2765f9a8748a27d3318a618c7ee90ccf4805a21267a74fe83b9ba814cf |