Memcached
数据库缓存中间件
yorkmass☭
个人邮箱 yaoyi@tobsion.com
展开
-
Memcached核心优化概述
核心优化概述什么是优化:以更小的资源支持更大负载网站的运行,以小博大思路:尽量减少用户等待时间,节省系统资源开销,节省带宽使用优化什么地方?有三方面:Memcache内存缓存技术、静态化技术、mysql优化Memcache操作内存的中间介质1、memcached与redis的区别和联系区别:redis:支持比较多的数据类型(String/list/set/s...原创 2019-09-07 12:29:50 · 265 阅读 · 0 评论 -
Memcached基础语法
Memcached基础memcached中的一些参数限制Key的长度:250字节(二进制协议支持65536个字节)Value的限制:1M,一般都是存储一些文本,如新闻列表等等这个值足够了内存的限制:32位下最大设置到2G如果有30G数据要缓存,一般也不会单实例装30G(不要把鸡蛋装在一个篮子里)一般建议 开启多个实例(可以在不同的机器,或者同机器不同端口多开几个)增:a...原创 2019-09-07 21:46:55 · 398 阅读 · 0 评论 -
Memcached内存分配机制
Memcached Slab Allocator分配机制memcached是如何缓解内存的碎片化的?Memcached用slab allocator机制来管理内存基本原理:预告把内存划分成数个slab仓库,各个仓库切分成不同尺寸的小块,需要存内容时判断内容的大小,为其选取合理的仓库警示:如果有100byte的内存要存,但122大小的仓库中的chunk满了,并不会寻找更大的,...原创 2019-09-08 13:09:09 · 224 阅读 · 0 评论 -
Memcached过期与删除机制
Memcached过期与删除机制当某个值过期后,并没有从内存删除,因此stats统计时,curr_item有其信息 当取其值时,判断是否过期,如果过期,返回空,并且清空,curr_item就减少了 如果之前没有get过,将不会自动删除 当某个新值去占用他的位置时,当成空chunk来占用即:这个过期,只是让用户看不到这个数据而已,并没有在过期的瞬间立即从内存删除这个称为lazy ex...原创 2019-09-08 15:22:35 · 483 阅读 · 0 评论 -
Memcached一致性哈希分布式算法
memcached是什么?memcached是一个高性能,分布式内存对象缓存系统,具备通用性,但本来的目的是用于为动态web程序加速,并减轻数据库的负担键与服务器的对应关系分布式之取模算法的缺陷取模算法(最容易想的,但是不适合做集群使用):有两台服务器的话,key转成数字,对2取模,摸为N,则放第N台服务器分布式算法之取模算法假设有8台服务器,运行中突然down一台,则求余...原创 2019-09-08 19:55:38 · 246 阅读 · 0 评论 -
Memcached在实战中碰到的经典问题和现象
缓存雪崩现象一般是由某个节点失效,导致其他节点的缓存命中率下降缓存中缺失的数据去数据库查询,短时间内,造成数据库服务器崩溃重启DB,短期又被压垮,但缓存数据也多一些DB反复多次启动多次,缓存重建完毕,DB才稳定运行或者是由于缓存周期性失效,比如每6小时失效一次,那么每6小时,将有一个请求“峰值”,严重者甚至会令DB崩溃解决方案:a)把缓存设置为随机3到9小时的生命周...原创 2019-09-08 21:17:57 · 301 阅读 · 0 评论