我想准备一个可扩展的 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/