• Memcached:高性能的分布式内存缓存服务器


    Memcached:高性能的分布式内存缓存服务器

    特征:

      u 协议简单:

      n 基于文本行的协议

      u 基于libevent的事件处理:

      n 程序库,能实现连接数的增加,O(1)性能

      u 内置内存存储方式

      n 数据存储在内存,重启数据消失,在数据达到某个值时,基于LRU(Last Recently Used)算法删除不使用的缓存

      u Memcached互不通信的分布式

      n 服务器端没有分布式功能,实现分布式取决于客户端

      n 

    Memcached的使用:

      u 保存的方法:

      n add:仅当存储空间不存在相同的数据才保存

      n replace:仅当存储空间存在相同的数据才保存

      n set:无论何时都保存

      u 获取的方法

      n get:取一个数据

      n Get_multi:取多个数据

      u 删除数据

      n delete

      u 增一和减一操作

      n incr

      n Add

    Slab Allocation机制:分配,管理内存机制

      将内存分割成特定长度的块,同样大小的块分成组,根据数据的大小选择合适的分组的块

      解决了内存碎片的问题,但产生了浪费内存的问题(100bytes的数据要存入112的块)

      调优:根据数据大小调节组的块大小

       

    Memcached的数据删除方面

      u Memcached不会真正的删除数据,也不会监视过期的数据,而是在get的时候检查是否过期,这种技术被称为lazy(惰性)

      u LRU即覆盖最近最少使用的数据

    Memcached的分布式

      u 完全由客户端实现:根据键,通过客户端的算法得出存放在哪个memcached服务器,取根据同样的算法来取.

      u 客户端的函数库Cache::Memcached实现了分布式功能

      n 根据余数计算分散:即根据服务器台数的余数进行分散,求得键的hash值取余

      n 缺点:添加或移除服务器,缓存重组的代价大

      u Consistent Hashing分散算法

      n 求出各服务器的hash,配置到

  • 相关阅读:
    mybatis学习笔记
    markdownPad常用功能示例
    2018-2019-2 《Java程序设计》第3周学习总结
    2018-2019-2 《Java程序设计》第2周学习总结
    2018-2019-2 《Java程序设计》第1周学习总结
    Djnago models 一对多、多对多
    Superset 安装
    lvm 添加分区
    partprobe 重新检测Linux系统分区
    Docker 、Docker Compose 安装
  • 原文地址:https://www.cnblogs.com/2nao/p/6618912.html
Copyright © 2020-2023  润新知