美文网首页
Memcached 工作原理及与Redis对比的优缺点 (仅理论

Memcached 工作原理及与Redis对比的优缺点 (仅理论

作者: 右耳菌 | 来源:发表于2022-09-21 10:39 被阅读0次

    如果要学习,建议看下面这个,因为官网好像不是很详细(非常推荐)

    https://www.runoob.com/memcached/memcached-tutorial.html

    1. Memcached 工作原理

    1.1 Memcached 数据处理流程

    Libevent库

    • 网络IO多路复用
    • IO多路复用:
      单一操作单元中集成多个网络I/O事件的监听处理,即一次可以聚合多个网络I/O事件的感知

    • IO多路复用是指事件变化的集合通知机制,而非处理机制!
      相关实现有:
      1.event port
      2.Kqueue
      3.Select, poll, epoll

    • Libevent如何选择哪种实现?
      cmake检查当前系统库是否包含了相关系统调用?如果有则设置相应的宏
      例如:
      1.Solaris系统的 event port的宏:EVENT__HAVE_EVENT_PORTS
      2.Apple系统的 kqueue的宏:EVENT__HAVE_WORKING_KQUEUE
      3.一般linux系统的epoll的宏:EVENT__HAVE_EPOLL

    • Memcached 网络处理


    多线程模式

    • 处理框架
    • 请求状态机
    • 请求状态机 - 完整状态


    1.2 Memcached内存管理
    • Slab 机制
    1.3 Memcached的持久化
    • ExtStore
      官方介绍: https://github.com/memcached/memcached/wiki/Extstore

      1. extstore是把key放在内存,把value放入到flash等介质中的一种持久化方式,主要是为了解决内存存储容量的瓶颈
      2. 使用场景是:value很大,存储时间很长。成本太高的情况下; 不适用普通硬盘。
      3. Version 1.5.4+支持
    • ExtStore 写入

    • ExtStore读取

    2. Memcached vs Redis

    2.1 性能相关

    单线程 vs 多线程

    2.2 可靠性

    高可靠模式: 主从、集群

    2.3 数据持久化

    RDB and AOF vs ExtStore

    2.4 存储语义
    2.5 数据规模

    纯内存 vs ExtStore

    相关文章

      网友评论

          本文标题:Memcached 工作原理及与Redis对比的优缺点 (仅理论

          本文链接:https://www.haomeiwen.com/subject/vwvvortx.html