博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
memcache 原理探究
阅读量:4113 次
发布时间:2019-05-25

本文共 594 字,大约阅读时间需要 1 分钟。

   之前侧重用使用,没有对原理过多的研究,这两天有同事问了一些问题,我想应该研究一下了。

使用

首先,说一下使用的经验吧,通过配置文件配好memcache的ip和端口,我一般会根据业务对client进行一下封装,写一个自己的客户端类,把memcache当做一个map来用,基本上就是用get和set,在使用的时候要注意,
你要把什么东西放进去
还有更新机制

原理,特性

相信从百度或google可以搜出很多来,这里谈一下我自己的理解,当然会有很多和网上一样的。
1、memcache就是在内存中维护一个大的hash表,使用的时候类似map,通过设定的key来存取。
2、采用C/S模式,在服务端启动守护进程,监听ip和端口,是基于事件服务的(安装的时候需要libevent)。
3、一般都要配置memcache集群,集群间不进行通信,每台机子维护自己的数据,memcache做了一个工作就是将key进行hash来确定要存到哪台机器上。
4、memcache的容灾性比较差,守护进程被kill掉后,数据就丢失了。
5、关于内存分配
需要介绍几个概念:
Page   : 内存分配的最小单位。
Slabs  : 划分数据空间。相当于把内存分块。
Chunk  : 存放缓存数据的单位。
具体信息可以参考
当内存空间紧张时,会使用LRU进行内存分配。
有不对的地方,欢迎大家指正呀 O(∩_∩)O哈哈~

转载地址:http://vjrsi.baihongyu.com/

你可能感兴趣的文章
SQL如何取日期中的年月
查看>>
C# goto
查看>>
Confluence 6 给一个从 Jira Service Desk 的非许可证用户访问权限
查看>>
node.js基础 1之简单的nodejs模块
查看>>
Cocos2d-x学习笔记(一) 搭建开发环境
查看>>
关于 古人劝学 --写的真心是好 真的有收获
查看>>
【习题 7-7 UVA-12558】Egyptian Fractions (HARD version)
查看>>
【codeforces 768F】Barrels and boxes
查看>>
【66.47%】【codeforces 556B】Case of Fake Numbers
查看>>
Sql 列转行字符串
查看>>
[天下小黑盒]打地鼠小助手
查看>>
dataFrame 切片操作
查看>>
C言语教程第五章:函数(10)
查看>>
MySQL中批改暗码及拜访限定设置详解-1
查看>>
cGmail — 主动反省邮件
查看>>
http协议get方法获取图片并保存到本地
查看>>
OS的发展和分类
查看>>
作业4
查看>>
Python assert断言
查看>>
如何点击链接直接跳转到app store指定应用下载页面
查看>>