随笔分类 -  Memcached

一致性哈希java实现
摘要:值得注意的点 1. 哈希函数的选择 murmur哈希函数 该函数是非加密型哈希,性能高,且发生哈希碰撞的概率据说很低 md5 SHA 可以选择guava包,提供了丰富的哈希函数的API 2. 支持虚拟节点+加权,因为不同的节点可能资源配置不同,加权可以使负载均衡最大化,虚拟节点,可以降低某个节点出现 阅读全文
posted @ 2017-11-16 10:19 行走在云端的愚公 阅读(529) 评论(0) 推荐(0) 编辑
memcached经典问题和现象
摘要:缓存刷新时间集中问题 1. 某个缓存失效了,导致其他节点的缓存命中率下降, 缓存中缺失的数据 去数据库查询.短时间内,会造成数据库服务器崩溃 2. 需要将缓存失效时间离散分布在访问量比较低的时间段 multiget hole问题 以用户为例: user 133 age, user 133 name, 阅读全文
posted @ 2017-05-31 15:36 行走在云端的愚公 阅读(544) 评论(0) 推荐(0) 编辑
memcached集群和一致性哈希算法
摘要:场景 由于memcached集群各节点之间都是独立的,互不通信,集群的负载均衡是基于客户端来实现的,因此需要客户端用户设计实现负载均衡算法。 取模算法 N个节点,从0 N 1编号,key对N 取模,余i,则key落在第i台服务器上 有 N 台服务器, 变为 N 1 台, 每 N (N 1)个数中, 阅读全文
posted @ 2017-05-31 15:34 行走在云端的愚公 阅读(378) 评论(0) 推荐(1) 编辑
memcached内存模型
摘要:内存管理 内存结构 1. 把内存划分成不同的slab class仓库 2. 把仓库切分成不同尺寸的小块(chunk),用来存储缓存数据 数据内存分配 1. 首先根据数据的大小找到对应的slab class 2. 找到空闲的chunk,存储数据 3. 如果无空闲的chunk,会采用LRU算法删除旧数据 阅读全文
posted @ 2017-05-31 15:32 行走在云端的愚公 阅读(246) 评论(0) 推荐(0) 编辑
memcached简介
摘要:介绍 自由&开源, 高性能分布式的内存对象缓存系统,采用K V方式存储数据 协议 通信协议:memcached协议 数据序列化协议:简单文本协议 linux下安装 参数详解 命令行操作 连接 增add 1. key 给值起一个独特的名字 1. flag 标志,要求为一个正整数 1. expire 有 阅读全文
posted @ 2017-05-31 15:30 行走在云端的愚公 阅读(217) 评论(0) 推荐(0) 编辑