综合考虑,对于选择memcache还是redis这个问题,我个人的结论总结如下:
問題的概述
自从有人说”memcache已经过时了!接下来是Redis!”之后,虽然时间过去了很久,但意外地发现memcache在各个地方还活着。也偶尔听到一些新用户在使用memcache的故事,但实际情况如何呢?这个到底好不好?哪个更好呢?我为了得出自己的结论进行了调查。
首先是结论
如果你有困惑,就使用Redis。
这个原因
-
- memcacheとredisは、費用面、パフォーマンスについては大差はない。
唯一、使用するメモリ量がredisのほうが若干多くなりやすいらしいけれどそれも格納するデータの内容次第で必ずしもそうであるとは言い切れない(らしい)。
いっぽうで使用しなくなったメモリの解放についてはRedisのほうが優秀。(FLUSHの時だけの可能性はある)
個人的には初期の学習コストも変わらないと思う(どっちも簡単)(素晴らしい)
memcacheのできることはRedisもできる。Redisのできることのうちmemcacheにはできないことがある。例えば以下。
データの永続化(ただし永続化設定するとその精密さに応じてパフォーマンスは下がる)
master/slave構成
暗号化
ソート
使用するケースや規模が事前に正しく決められるならmemcacheのほうがいい場合もある。
ただし大抵の場合正しく決められない。
後から(稼動後数年経過も含む)使い方が変わるとかいう場合もある。
システムは生き物だからね!
だから”念のため”Redisにしておくほうがいい
必要になったら全部memcacheからredisに置換するぜー!って覚悟のあるひとはとりあえずなんでもいい。せっかくだから俺はmemcacheを選ぶぜ!でいい。
しかしRedisでも別にいい。
Redisとmemcacheの併用という可能性はサーバ費用の問題があるので除外した。
なお、永続化が必要なデータ/永続化が不要なデータが混在している場合それをRedis/memcacheを併用して使い分けるっていう手も考えたけれど(1システム内にRedisが2種類あるとわかりにくいとか云々)、永続化の要不要の判断をミスった場合のことを考えたら、もういっそ全部永続化でいいよ! ね!(expireはつけよう)
请参阅
-
- stackoverflow – Memcached vs. Redis?
-
- Redis作者自身によるRedisとMemcachedの比較
-
- AWS – エンジンの選択
- 本当は怖いMemcached
只是顺便说一句,这是一个非常无关紧要的话题。
就名字来说,我更喜欢Memcache。不知怎么的。