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存储机制
网友评论