美文网首页
Memcached 协议

Memcached 协议

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

    1. Memcached 简介

    1.1 Memcached 是什么?

    是一种

    • 高性能
    • 多线程基于事件处理机制
    • k-v缓存系统

    相关网址:

    1.2 Memcached 协议是什么?
    • 协议:
      本质是通信双方为了达成一项操作而制定的一种数据交互规范:双方都能识别,能够阐明意图,保证顺序;

    • Memcached协议:

      1. memcached服务的具象化,以特定的格式规范来提供统一标准的memcached服务;
      2. 任何只要遵守该格式的客户端都能够和memcached服务建立连接,享受memcached服务;
      3. memcached服务端和客户端通过网络[TCP,UDP]或者unix domain socket[主机内进程间通信]进行相关服务协议交互;
      4. 通常使用11211端口监听,使用libevent框架进行事件处理;
    • Text Protocol
      文本协议,当客户端和服务端建立好连接后,直接通过文本行进行交互

    • Binary Protocol
      memcached 1.4.0之后推出的一种基于二进制的结构化协议


    2. 文本和二进制协议

    2.1 文本协议

    官方介绍: https://github.com/memcached/memcached/blob/master/doc/protocol.txt

    命令格式:

    1.存储命令格式:
    <command name><key><flags> <exptime><bytes>[noreply]\r\n
    <data block>\r\n

    存储命令格式:

    set hello 0 90 9\r\n
    memcached\r\n
    STORED\r\n
    

    2.取值命令格式:
    command name> <key>[noreply]\r\n

    取值命令格式:

    get hello\r\n
    
    Value hello 0 9\r\n
    Memcached\r\n
    END\r\n
    
    2.2 二进制协议

    官方介绍: https://github.com/memcached/memcached/wiki/BinaryProtocolRevamped

    命令格式:

    2.3 协议对比

    3. Memcached 命令

    官网: https://github.com/memcached/memcached/wiki/Commands

    3.1 存储相关命令
    1. set key flags exptime bytes [noreply] value
    2. add key flags exptime bytes [noreply] value
    3. replace key flags exptime bytes [noreply] value
    4. append key flags exptime bytes [noreply] value
    5. prepend key flags exptime bytes [noreply] value
    6. cas key flags exptime bytes unique_cas_token [noreply] value
    3.2 读取命令
    1. get key1 key2 key3
    2. gets key1 key2 key3
    3.3 其他命令
    1. delete key [noreply]
    2. incr key increment_value
    3. decr key decrement_value
    4. flush_all [time] [noreply]

    4. Memcached 使用场景

    所有不需要redis复杂数据结构的场景都可以使用

    • 文本: key 250
    • 二进制: 65535
    • value: 最小1K,默认1M,最大1G

    特定场景:CAS命令


    如果觉得有收获,欢迎点赞和评论,更多知识,请点击关注查看我的主页信息哦~

    相关文章

      网友评论

          本文标题:Memcached 协议

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