– 相同的数据模型,Memcached能保存的热数据要比Redis高些,如Memcached在13G的限定内存下大概能保存1亿条数据,而Redis大概保存了8千万条
– 相同服务器环境,Memcached写性能要比Redis高些,前者约10万条每秒,后者约7万条秒
– 达到内存上限时,Memcached插入性能除了在临界点有些抖动,大概降到7万条每秒,之后性能跟临界点之前一样,而Redis性能急剧下降,一度降到396条每秒,之后其性能受子进程dump数据及每秒产栺大量页面错误影响而持续下降
– Memcached平均占用单个CPU百分比,除了在内存上限临界点达到300%外,其他一直稳定在150%左右,Redis在达到内存上限前一直稳定在90%左右,之后受子进程dump数据及每秒产栺大量页面错误影响,CPU使用率并不高,一度降到1%
– Redis单线程运行,对CPU利用率不高,因此建议在同一个机器部署多个redis提高cpu利用率
– 二者内存占用都随着写入数据的逐渐增多而增大,其中Memcached在达到内存上限后就不再变化,而此时Redis内存占用率因受子进程dump数据竞争而持持续降低
– Memcached由于是纯内存操作,所以没有产栺页面错误,而Redis在达到内存上限后,由于需要把部分数据转到虚拟内存,再受其子进程dump数据竞争系统资源影响会产栺大量的页面错误
– 相同服务器环境,Memcached读性能要比Redis高些,前者约10万条每秒,后者约8万条秒
– 达到内存上限时,Memcached读性能并没有变化,而Redis性能急剧下降,一度降到1,100条每秒,之后其性能受子进程dump数据及每秒产栺大量页面错误影响而非常不稳定
从测试上看,redis并不是性能之王,但是它的性能依然很强劲,对于绝大部分的性能要求完全满足,但是它功能的完善度,可以完胜memcached,对业务支撑更加容易,开发成本更低