Memcache 面试题 23道.pdf
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
Memcached 面试题 Memcached 是什么,有什么作用? Memcached 是一个开源的、高性能的内存缓存软件。其作用是通过在事先规划好的内存空间中临时存储数据库中的各类数据,以达到减少业务对数据库的直接高并发访问,从而达到提升数据库的访问性能,加速网站集群动态应用服务的能力。 Memcached 的应用场景: 1. 作为数据库的前端缓存应用 a. 完整缓存(易):静态缓存,例如商品分类、商品信息等。 b. 执点缓存(难):需要前端 web 程序配合,缓存热点的数据。 2. 作业集群的 session 会话共享存储 3. Memcached 服务在不同企业业务应用场景中的工作流程 a. 当 web 程序需要访问后端数据库获取数据时,会优先访问 Memcached 内存缓存。 b. 当程序更新、修改或删除数据库中已有的数据时,会同时发送请求通知 Memcached 已经缓存的同一个 ID 内容的旧数据失效。 Memcached 服务分布式集群如何实现? 1. 程序端实现程序加载所有 Memcached 的 IP 列表,通过对 key 做哈希(一致性哈希算法)。 2. 负载均衡器通过对 key 做哈希(一致性哈希算法),以保证每个对象只请求一个对应的服务器。 Memcached 服务特点及工作原理: 1. 完全基于内存缓存的。 2. 节点之间相互独立。 3. C/S 模式架构,C 语言编写,总共 2000 行代码。 4. 异步 I/O 模型,使用 libevent 作为事件通知机制。 5. 被缓存的数据以 key/value 键值对形式存在的。 6. 全部数据存放于内存中,无持久性存储的设计,重启服务器,内存里的数据会丢失。 7. 当内存中缓存的数据容量达到启动时设定的内存值时,就自动使用 LRU 算法删除过期的缓存数据。 Memcached 内存管理机制原理: 早期的 Memcached 内存管理方式是通过 malloc 的分配的内存,使用完后通过 free 来回收内存,这种方式容易产生内存碎片,并降低操作系统对内存的管理效率。为了解决这个问题,Slab Allocation 内存分配机制就延生了。
剩余8页未读,继续阅读
- 粉丝: 187
- 资源: 5900
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助