草庐IT

amazon-elasticache

全部标签

amazon-web-services - 位于不同区域的 EC2 实例之间的数据实时复制

我是AWS和后端架构的新手。我当前的配置是一个EC2实例(新加坡东南地区),它运行一个用于实时聊天应用程序的Twisted实时服务器。目前,在我的实现中,每当发送者向服务器发送消息时,如果接收者不在线,它就会存储在服务器上的python字典中。所以基本上它是将此消息存储在实例的RAM中。现在,我想让该应用程序在全局范围内可用,因此我将在不同区域的实例上运行它。所以我的问题是,我应该如何将存储在一个实例的RAM中的字典复制/复制到所有其他实例,以便它在所有区域都可用?(将消息存储在RAM而不是数据库中的原因是应用程序的性质。该应用程序涉及大量突发发送的消息,这要求它比持久性数据库存储的I

caching - Redis 缓存 lru 启动 softlimit

我知道redis可以用作LRU缓存,但是否有softlimit标志,我们可以在达到特定条件后声明“redis将开始清理LRU项”。实际上我在redis上遇到OOM错误,我已将redis设置为LRU缓存,但它达到了OOM限制并且应用程序停止了。我知道“maxmemory”标志,但是否有一个软限制,我们有大约10%的空间,我们可以开始驱逐一些项目,这样应用程序就不会停止! 最佳答案 您是否设置了特定的驱逐政策?参见:驱逐政策http://redis.io/topics/lru-cache然后我会检查,以确保您没有无意中在您的redis对

node.js - Amazon ElasticCache for Redis 与 Node.js 服务器

我在我的Node.js应用程序中使用Redis。我不使用它进行缓存,我也不想。我希望我在Redis中的数据在任何时候都是持久的。还有我每次调用redis都会写入磁盘。在这种情况下使用亚马逊弹性缓存有帮助吗?因为我知道Amazonelasticcache处理备用复制和自动故障转移这对我来说非常重要。我在AmazonEC2上运行我的Node.js服务器。如有任何帮助或建议,我们将不胜感激。 最佳答案 目前AmazonElasticCache保持持久状态的方式是通过snapshotting这意味着它使用备份和恢复功能在S3存储桶中保留一份

amazon-web-services - m4.large AWS 实例上的 Redis 性能

我们在t2.medium上进行了基准测试并获得了以下吞吐量t2.mediumSET:155545.19GET:155775.38当在m4.large上使用相同的redis配置进行基准测试时,吞吐量下降到以下水平m4.largeSET:111788.46GET:110503.34可能是什么原因? 最佳答案 T2实例永远不适合基准测试。T2实例是可突增的性能实例,可提供基准水平的CPU性能。性能和爆发能力由CPU积分决定。T2实例空闲时累积CPU积分,并在事件时使用CPU积分。请引用以下文档以了解T2实例的性能http://docs.a

amazon-web-services - 为 AWS 中的多个消费者选择消息队列方法

请帮助为以下用例选择MQ应用程序/系统/方法:检查特定用户的传入消息->阅读消息(如果可用)->从队列中删除,理想情况下,留在AWS中。上下文:社交网络应用,用户接收消息,即我需要通过收件人ID识别收到的邮件。该应用每30秒对新消息进行一次长轮询。邮件大小为根据目前的估计,我每月总共需要检查1亿多条消息(但是,消息少得多,这些只是检查)。虽然用户确认消息选择“确定”或“忽略”,但不确定是否需要来自MQ系统的ACK支持。我在AWS。最初想到SQS,但我读得越多,它看起来就越不适合-无法以按收件人过滤的方式设置消息收件人ID等,但也许我错了。我还考虑过的选项之一是只使用DynamoDB的“

flask - Flask Rate Limiter 是否适用于 Elasticache (Redis 2.8)?

我的大型Web应用程序目前使用PythonFlask速率限制器。我有几个运行该应用程序的AmazonEC2实例。Flask限速器依赖于我设置的Redis实例。我正在使用Redis3.0。我有兴趣用AmazonElasticacheForRedis替换我的Redis实例.Elasticache支持Redis2.8。所以我将从Redis3.0降级。Flaskrate-limiter是否使用了Redis3.0中的任何Redis2.8中没有的功能?如果没有,我应该不会遇到任何麻烦。但是Flask限速器documentation没有说明它需要/使用什么版本的Redis。

amazon-web-services - Sidekiq 统计数据神秘重置

我们正在从Heroku迁移到AWS,我注意到Sidekiq统计数据莫名其妙地重置,原因不明。这发生在连接到同一个Redis实例的多个不同应用程序中,每个应用程序在initializers/sidekiq.rb中设置了自己的namespace。所有Sidekiq计数器的统计数据同时重置。看起来我们可能会暂时断开Redis连接,但这只是一个疯狂的猜测,无论如何我不确定如何缓解它。这是一个常见问题吗?有我可以调整的设置吗? 最佳答案 有人正在运行FLUSHDB或FLUSHALL命令并清除Redis中的数据。启动时可能是其中一个应用程序。

django - 使用无服务器架构时应用程序缓存是否冗余(例如通过 python Zappa 的 Amazon Lambda)

Djangoadvises关于为高流量站点使用Redis或Memcached缓存,以减少服务器完成的工作。在AmazonLambda上运行的应用通过Zappa具有出色的水平扩展能力。当另一台服务器可以轻松且非常便宜地启动时,似乎没有必要最大限度地减少服务器的处理工作。使用无服务器架构时,Memcached和Redis等缓存是否冗余?更新:仍然建议在您的应用程序前面安装CDN(例如cloudfront)(例如byZappa)。 最佳答案 我认为,在应用程序缓存方面,无服务器架构可能会稍微改变方程式。它确实解决了缓存可以帮助解决的一些问

amazon-web-services - 使用 Terraform 缩小 AWS 上的 Redis 缓存集群

我正在使用Terraform为短期运行的事件扩展和缩小AWS环境。我遇到一个问题,AWS只允许您扩展ElasticacheRedis实例类型,而不允许您缩减到较小的实例类型。这意味着在使用Terraform进行缩减之前,我必须先在AWS控制台中删除10个分片的Redis节点。有没有一种更简单的方法可以使用Terraform执行此操作,即先删除然后重新创建较小的实例? 最佳答案 terraformtaint完成了这项工作因此,在您需要更改为较小的实例类型之前,请先污染这些资源。terraformapply将首先销毁,然后重新创建这些资

Redis:如果键存在则引发错误

我正在开发一个应用程序,我将一些key放入Redis。如果给定的键存在,Redis应该会报错。[由于并发问题,无法读取key再更新Redis。我也不会写一段关键代码。]Redis可以这样配置吗? 最佳答案 Redis无法配置为引发错误,但您可以使用SETNX命令设置新key,如果它已经存在,则不会发生任何事情。如果键不存在且我们设置了它的值,则SETNX的返回值为1,如果存在且我们无法设置新值,则返回0。例如:127.0.0.1:6379>SETNXfoobar(integer)1127.0.0.1:6379>getfoo"bar"