gpt4 book ai didi

python - Memcached:AWS Elasticache 上的自动发现 python 支持?

转载 作者:太空狗 更新时间:2023-10-29 21:35:00 24 4
gpt4 key购买 nike

我开始将 AWS Elasticache 与我的 django 网络应用程序结合使用。

我首先使用自动发现功能将缓存位置设置为唯一端点,但它似乎不起作用。

我正在使用 pylibmc (1.2.2) 和 django-pylibmc-sasl (0.2.4) 从 python 连接到 memcached。

自动发现功能是否适用于这些客户端?如何启用它?

最佳答案

快速回答

对于 django 是:django-elasticache

长答案

ElastiCache 提供了 memcached 接口(interface),所以有三种使用方法:

1。 Memcached 配置有 location = 配置端点。

在这种情况下,您的应用程序将随机连接到集群中的节点,缓存将以非最佳方式使用方法。在某个时刻,您将连接到第一个节点并设置项目。一分钟后您将连接到另一个节点,将无法获得该项目。

CACHES = {
'default': {
'BACKEND': 'django.core.cache.backends.memcached.PyLibMCCache',
'LOCATION': 'cache.gasdbp.cfg.use1.cache.amazonaws.com:11211',
}
}

2。 Memcached 配置了所有节点。

它会工作正常,内存缓存客户端会 在所有节点之间分开项目,并将平衡客户端的负载。你会 只有在添加新节点或删除旧节点后才会出现问题。在这种情况下你应该 手动添加新节点,不要忘记在 AWS 上进行所有更改后更新您的应用程序。

CACHES = {
'default': {
'BACKEND': 'django.core.cache.backends.memcached.PyLibMCCache',
'LOCATION': [
'cache.gqasdbp.0001.use1.cache.amazonaws.com:11211',
'cache.gqasdbp.0002.use1.cache.amazonaws.com:11211',
]
}
}

3。使用 django-elasticache。

它将连接到集群并检索 ip 地址 所有节点并配置 memcached 以使用所有节点。

CACHES = {
'default': {
'BACKEND': 'django_elasticache.memcached.ElastiCache',
'LOCATION': 'cache-c.draaaf.cfg.use1.cache.amazonaws.com:11211',
}
}

设置节点列表(django-elasticache)和仅连接到一个配置端点(使用 dns 路由),您可以在这张图:

Get statistic for cluster with two node

关于python - Memcached:AWS Elasticache 上的自动发现 python 支持?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14612632/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com