Redis和Memcache的区别
redis和memcache的不同点:
1、存储方式
redis和memcache都是将数据存放在内存中,都是内存数据库。
memcache把数据全部存在内存之中,数据不能超过内存大小,断电后会挂掉,挂掉后数据不可恢复。
redis可以定期保存到磁盘(持久化),这样能保证数据的持久性。reids若数据丢失可以通过aof恢复。redis当物理内存用完时,可以将一些很久没用到的value交换到磁盘。
2、数据支持类型
redis在数据支持上要比memcache多的多。
redis不仅仅支持简单的k/v类型的数据,同时还提供list、set、hash等数据结构的存储。
3、使用底层模型不同
新版本的redis直接自己构建了VM机制,因为一般的系统调用系统函数的话,会浪费一定的时间去移动和请求。
4、运行环境不同
redis目前官方只支持LINUX上运行,从而省去了对于其他系统的支持,这样的话可以更好地把精力用于本系统环境的优化。
总结:
1、redis使用最佳方式是全部数据in-memory。
2、redis更多场景是作为Memcache的替代者来使用。
3、当需要除key/value之外的更多数据类型支持时,使用redis更合适。
4、当存储的数据不能被剔除时,使用redis更合适。