redis和memcached的区别点

  • 过期策略
    redis采用惰性删除和定期删除,memcached只采用了惰性删除。惰性删除和定期删除的定义详见“key的过期策略”章节。
  • 数据类型
    memcached只支持简单的k-v数据,也就是value只能是string类型。redis除了支持string数据类型,还支持hashs、set、sortedset、list、hyperloglog等数据类型,数据类型更加丰富,应用场合更加多样。
  • 订阅/发布
    memcached不支持订阅/发布模式这样的通知机制,而redis是支持的。所以redis可以当做消息队列使用。
  • 事务
    redis支持事务,memcached不支持事务。
  • 数据备份,有效性,持久化等
    memcached不保证数据的有效性,slab内部基于LRU也会自动淘汰旧数据,客户端不能假设数据在服务器端的状态,这可能会成为你需要精确自行控制cache生命周期的一个障碍。
    memcached也不做数据的持久化。
    redis能够保证数据的有效性,并且支持主从复制和持久化。
    redis可以使用pipeline和script(LUA脚本)这两种方式可以有效减少网络通信开销,增加数据吞吐率。

你可能感兴趣的:(redis和memcached的区别点)