redis与memcache区别

1、持久化

redis是支持持久化存储,宕机重启数据不会丢失,memcache重启后数据丢失

redis持久化的方式

  • 半持久化模式(RDB) 通过不定期异步持久化磁盘中
    优点:性能高
    缺点:宕机时定时持久化数据可能丢失,由于是fork子进程来持久化,数据量大时可能cpu占用较高,可能会导致整个服务器停止几百毫秒到1秒
  • 全持久化(AOF) 把每一次数据变化都写入到aof文件中
    优点:数据安全性更高 有三种配置每秒同步(异步)、每修改同步(效率低)、不同步,宕机后依然会同步旧数据
    缺点:文件比RDB大,恢复时速度比RDB慢,AOF在运行效率上往往会慢于RDB。总之,每秒同步策略的效率是比较高的,同步禁用策略的效率和RDB一样高效。

2、数据类型

memcache只支持key-value类型,redis数据类型支持更丰富,有hash,set,list,key-value,Pub/Sub
单key的value可存储最大限制:memcache最大1m,redis最大512m

3、应用场景

memcache更多的用在缓冲业务上减少数据库的查询
redis不仅可以做memcache的事,由于支持丰富的数据类型,可以实现业务中更多的功能,如:排行榜,计数,pub/sub订阅,mq等

你可能感兴趣的:(redis与memcache区别)