memcached源码分析

memcached

1.简介

Memcached是一个自由开源的,高性能,分布式内存对象缓存系统。通过在内存里维护一个大的hash表,它能够用来存储各种格式的数据,包括图像、视频、文件以及数据库检索的结果。一般的使用目的是,通过缓存数据库查询结果,减少数据库访问次数,以提高动态Web应用的速度、提高可扩展性。

2.特征

  • 协议简单(key-value存储系统)
  • 基于libevent的事件处理
  • 内置内存存储方式
  • memcached不互相通信的分布式

3.局限性

  • 不支持数据的可持久化
  • 仅支持简单K/V类型数据,无法提供List/Set/Hash等数据结构存储
  • 不支持的主从数据备份,并且由于无法进行数据同步,因此生产环境中出现单机故障时可能会影响部分业务运行
  • 服务端原生不支持水平扩展,必须在客户端编写缓存分布策略来实现分布式缓存

4.导航

因为我在工作项目中主要的开发语言是C++,memcached作为一款经典的C开源项目,在工作之余对其源码进行学习总结,接下来我会抽出一部分时间在此记录总结我的学习历程与成果,希望在这个过程中彼此可以相互学习与进步。
1.memcached源码分析-网络模块
2.memcached源码分析-指令解析模块
3.memcached源码分析-哈希表(hashtable)模块
4.memcached源码分析-slab存储机制

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容