memcache
10年老码农
10年IT从业经验,从事java、PHP后台、物联网开发工作。
展开
-
缓存雪崩、无底洞、数据被踢解决办法。
1、缓存雪崩同在一个时间段时,缓存大量失效,导致缓存命中率下降。结果大量查询都跑到DB上,导致DB崩溃挂掉。解决办法:(1)、缓存失效时间设置不集中。(2)、脚本更新缓存频率不一样,如在3~6小时内依次更新缓存,更不是集中更新。2、缓存无底洞添加缓存机器后,反而不能增加缓存性能,如图。解决办法:采用哈希一致性的办法,将特定用户存在特定缓存上。读时,也从这台机器上...原创 2018-09-28 21:33:25 · 169 阅读 · 0 评论 -
memcache 内存管理机制
MC存放在内存中有上10万个KEY,每时每刻都有KEY失效,有新KEY存进来。那会不会产生大量的内存碎片?MC是如下管理内存的。大致流程如下:1、在给MC分配内存时,MC会把分配到的内存以每个大小为1M空间再划分。如分64M给MC,则MC会分64个1M的空间。2、然后再将这1M的空间,再次分从大到小N个小空间。如90Byte大小,则1M里,可以存这么多KEY:1024*1024/90Byt...原创 2018-09-28 21:59:35 · 388 阅读 · 0 评论 -
memcache 常用参数
1、key长度,250字节2、value,最大是1M3、最大分配内存:2G如果需要存10G缓存,怎么办?可以开多个实例。但这样不好安全,雪崩后db机器可能顶不了,会挂掉。...原创 2018-09-28 22:04:19 · 852 阅读 · 0 评论