ruby-on-rails - 如何使用 Rails 进行扩展

标签 ruby-on-rails redis memcached scalability sidekiq

我想准备一个可扩展的 Rails 应用程序。这个应用程序的一些功能是连接到一些 API 和发送电子邮件,另外我正在使用 PostgreSQL 并且它在 Heroku 上。

现在代码已经干净了,我想使用缓存和任何有助于应用扩展的技术。

我应该使用 Redis 还是 Memcached?这对我来说有点晦涩,我在 StackOverflow 上看到过类似的问题,但在这里我想知道我应该仅将哪一个用于扩展目的。

我还想用 Sidekiq 来处理一些工作。它会与 Memcached/Redis 冲突吗?另外,在哪种情况下我应该使用它?

在可扩展性方面我应该考虑的其他事情吗?

非常感谢

最佳答案

Redis 是一个非常好的缓存选择,它具有与 memcached 相似的性能(redis 稍微快一些)并且以这种方式配置它需要几分钟。

如果可能的话,我会再次建议使用相同的 redis 实例来存储缓存和消息存储。

如果您确实需要这样做,请确保使用 volatile-lru 最大内存策略配置 redis,并且始终使用 TTL 设置缓存;这样,当 Redis 内存不足时,缓存键将被逐出。

关于ruby-on-rails - 如何使用 Rails 进行扩展,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19841719/

相关文章:

python - 在python中从redis排序字典列表

ruby-on-rails - Ruby on Rails 和 Redis:未初始化的常量 Redis::Namespace

redis-cli 不工作

java - memchache 不工作时如何处理代码(simple-spring-memcached)

php - 在类中使用 memcache

ruby-on-rails - ruby 和 Rails : Statement Modifiers in Views?

ruby-on-rails - 为什么我总是在 "ruby"前面需要 "script/runner"?

ruby-on-rails - 使用 CSS 和 javascript 的 Rails gem

python - 模板片段缓存似乎不适用于某些自定义模板标签

HTML(或 Rails)按钮代码问题