当前位置:  开发笔记 > 后端 > 正文

Rails和缓存,在memcache和redis之间切换是否容易?

如何解决《Rails和缓存,在memcache和redis之间切换是否容易?》经验,为你挑选了2个好方法。

是否有一个共同的api,如果我在Redis或Memcached之间切换,我不需要更改我的代码,只需配置设置?



1> Simone Carle..:

只要您没有自己初始化Memcached客户端但依赖于Rails.cache通用API,从Memcached切换到Redis只需要安装redis-store并更改配置

config.cache_store = :memcached_store

config.cache_store = :redis_store

有关更多信息Rails.cache.



2> efalcao..:

我讨厌弄乱你的目标,但我建议不要在memcached上使用redis进行通用的rails缓存.

我在一个大型rails应用程序中广泛使用redis和resque,我认为将缓存,原始redis和resque合并为一个很好.我遇到了一些大问题:

    首先,它更慢.它可能完全是我的特定用途,redis-store库或redis本身.我不打算讨厌任何东西,你的里程可能会有所不同,但是当memcached"正常工作"时,它会花很多时间转换成redis

    Memcached是不错的,因为它是非常容易地添加服务器,并使用统一的哈希来实现自己的目标.Redis也有这个,但根据我的经验,很难同时将redis视为我应用程序某些部分的单片数据存储区,而其他部分则将其视为分布式,持续散列的缓存存储块.

祝你的项目好运.我喜欢redis和memcached并在我的所有项目中使用它们,但是我让一个人做它作为kick-ass数据结构服务器的工作,让另一个人在缓存中蠢蠢欲动.


memcached的吞吐量比Redis更多,因为它是一个简单的键值存储,因为memcached是多线程的,而Redis是单线程的.因此,Redis将很快消耗100%使用一个CPU核心来达到它的峰值性能,而memcached将很乐意使用尽可能多的CPU核心,因此它的最大吞吐量会更高.在单核系统上(谁使用那些?)Redis可能更快,但Redis实际上只有在你利用它的附加数据类型或持久性或其他功能时才有用.
这确实没有解决这个问题,而且我不认为你的一次性经验值得建议不要使用Redis进行缓存,因为似乎有很多人正在成功地使用它.
推荐阅读
惬听风吟jyy_802
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有