Redis和Memached区别

Redis和Memcached的区别

  • 相同点:
    • Redis和Memcached都是将数据存放到内存中,都是内存数据库
  • 不同点1:数据类型
    • Redis支持的是k/v类型的数据,还提供list,set,hash等数据结构的存储
    • Memcached一般用于缓存,图片,视频等,比如验证码图片
  • 不同点2:内存
    • Redis当物理内存用完时,可以将一些value交换磁盘,radis数据丢失后可以通过aof恢复,
      • 也可以定期保存到磁盘(持久化)
    • memcached存储数据不安全,当挂掉的时候,数据不可恢复
  • 不同点3:各自的好处
    • Redis速度快,因为数据在内存中,支持丰富的数据类型
      • 支持str,list,set,sorted set, hash
      • 支持事务,操作都是原子性,原子性就是对数据的更改要么全部执行,要么全部不执行
      • redis丰富一些,事务支持比较弱,最大内存可以达到1GB,而memcached只有1MB
    • memcached可以修改最大可用内存,在并发场景下,用cas保持一致性
    • 用于在动态系统减少数据库负载,提升性能,做缓存,提高性能
  • 总结:

    • redis比memcached功能更齐全,集成更方便,但是memcached相比redis在内存,线程,IO角度来说有一定的优势,可以利用cpu提高机器性能,在不考虑扩展性和持久性的访问频繁的情况下,只存储k/v格式的数据,建议使用memcached,memcached更像是缓存,而redis更偏向于一个存储的系统。
坚持原创技术分享,您的支持将鼓励我继续创作!