memcache 知识点
memcache 知识点
MemCache是一个自由、源码开放、高性能、分布式的分布式内存对象缓存系统,用于动态Web应用以减轻数据库的负载。
memcache 基本设置
-p 监听的端口
-l 连接的IP地址, 默认是本机
-d start 启动memcached服务
-d restart 重起memcached服务
-d stop|shutdown 关闭正在运行的memcached服务
-d install 安装memcached服务
-d uninstall 卸载memcached服务
-u 以的身份运行 (仅在以root运行的时候有效)
-m 最大内存使用,单位MB。默认64MB
-M 内存耗尽时返回错误,而不是删除项
-c 最大同时连接数,默认是1024
-f 块大小增长因子,默认是1.25
-n 最小分配空间,key+value+flags默认是48
-h 显示帮助memcached -p 11211 -u root -m 3000 -c 30720
常用方法
memcache::add 方法:add方法用于向memcache服务器添加一个要缓存的数据。
memcache::set 方法:set方法用于设置一个指定key的缓存内容,set方法是add方法和replace方法的集合体
memcache::replace方法: replace方法用于替换一个指定key的缓存内容,如果key不存在则返回false
memcache::flush - 清除所有缓存的数据ps: memcache 过期时间是秒
过期时间限制
memcached的过期时间并不能随便设置,有一个最大时限就是30天,若超过30天后,存储时返回true,但是在取数据的时候取不到。(在取数据的时候才去做验证,看看数据是否失效)
说到这个过期时间了,就不得不说说memcached的缓存失效策略:
memcached的缓存失效策略是LRU(最近最少使用)加上到期失效策略。当向memcached存储数据时,你可能会设置一个过期时间,可以是永久也可以是一段时间,但是如果一旦给memcached分配的内存使用完毕,则首先会替换掉已失效的数据,其次是最近最少使用的数据。
存储限制
键被限制在 250 字符之内。数据项不能超过 1M (这个值由其内存分配机制决定的),因为这是最大的块( slab )值。如果对数据超过1M的值进行set,则会返回FALSE。
memcached默认情况下采用了名为Slab Allocator的机制分配、管理内存。在该机制出现以前,内存的分配是通过对所有记录简单地进行malloc和free来进行的。但是,这种方式会导致内存碎片,加重操作系统内存管理器的负担,最坏的情况下,会导致操作系统比memcached进程本身还慢。Slab Allocator就是为解决该问题而诞生的。Slab Allocator的基本原理是按照预先规定的大小,将分配的内存分割成特定长度的块,以完全解决内存碎片问题.
访问限制
最大同时连接数由-c 设置
一致性hash(转载)
首先求出机器节点的hash值(怎么算机器节点的hash?ip可以作为hash的参数吧。。当然还有其他的方法了),然后将其分布到0~2^32的一个圆环上(顺时针分布)。如下图所示:
转载于:https://www.cnblogs.com/huangpeng1990/p/7636114.html
memcache 知识点相关推荐
- Memcache知识点梳理
http://369369.blog.51cto.com/319630/833234/ 1.检查客户端的请求数据是否在memcached中,如有,直接把请求数据返回,不再对数据库进行任何操作,路径操作 ...
- 什么是memcache,常见的memcache方法
1.背景介绍 2.知识剖析 3.编码实战 4.常见问题 5.参考文献 6.更多讨论 1.背景介绍 什么是memcache memcached 是以LiveJournal旗下Danga Interact ...
- web开发微信文章目录
Web开发微信文章目录 2015-12-13 Web开发 本文是Web开发微信的文章目录.通过目录查看文章编号,回复文章编号就能查看文章全文. 回复编号查看全文,搜索分类名可以获得该分类下的文章. ...
- PHP框架编写和应用知识点,写PHP框架需要具备那些知识?
原标题:写PHP框架需要具备那些知识? 后盾网 如果没用过框架,讨论各个框架的内容都没有可讨论性,想自己写个框架涉及到的内容很多,个人觉得自己写一个框架对自己的逻辑思维,开发架构以及这门语言都有质的提 ...
- 2020年PHP中级面试知识点及答案
一.前言 最近博主也是历尽千辛万苦换了份工作,每次换之前不找点面试题看似乎就没自信一样..奈何网上有些面试题是比较老套的,所以这里重新总结一份2020年的,题目是有些是博主自己不熟悉的点,有些是bos ...
- php多选批量修改数据库数据类型有哪些_php面试题之memcache和redis的区别
这篇文章介绍的内容是关于php面试题六之memcache和redis的区别,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下 Memcache和Redis区别: * Redis中,并不是所 ...
- 安装memcached服务 和 php 安装memcache扩展
这是所有的命令,至于哪个命令是干嘛的自己悟去吧 ,顺便穿插一些知识点 安装libevent cd /home/ wget http://www.monkey.org/~provos/libeven ...
- Java开发环境!java基础知识点总结
一面(个人感觉回答得还不错) 1. 自我介绍 2. 说项目,项目问的非常深(本人提到之前做过的一篇关于FULL GC的问题定位和优化的项目以及一个多并发的项目) 2.1 对于自己产于过项目的系统定位是 ...
- java编程代写有哪些平台,学习路线+知识点梳理
前言 今天刚好有空,跟大家聊聊如何学好算法进大厂. 前两天一个读者和我说,他坚持刷算法题2个月,薪资翻番去了他梦寐以求的大厂,期间面字节跳动还遇到了原题-其实据我所知目前国内的大厂和一些独角兽,已经越 ...
最新文章
- linux系统自带的监控工具
- Mtk Android 打包解包*.img
- win10+Tensorflow2 + cuda +RTX 3080 +cudnn 安装
- “损失厌恶心理”怎么影响了我们?
- android tv 源代码,android_tv_metro
- Ubuntu16.04 卸载Gazebo7 安装 Gazebo9
- html2个表单,单个html angular2中的多个表单
- 如何将lnmp 0.5里面的php5.2.14升级到php 5.3.3???
- retrofit2.6.0_RxAndroid和Retrofit 2.0
- BZOJ3295 [Cqoi2011]动态逆序对 分治 树状数组
- java输出阶乘_Java阶乘输出
- 工商银行Java技术笔试题
- c# winform word模板 利用WORD 书签 定位替换 生成 WORD
- Unity 网格合并MeshBaker(一)
- oracle odi 配置安装,ODI的安装和配置
- 【面试软技巧】你如何看待加班?
- Tcar:智能车之基于mg995型号舵机的驱动控制模块
- 日语基础语法(完整篇)
- Java中对索引的知识总结
- 概率论与数理统计学习笔记——第六讲——离散型随机变量(6.2贝努利概型和二项分布)
热门文章
- centos安装DHCP服务器
- [SDOI2011]工作安排 BZOJ2245
- 盘点:互联网上无处不在的僵尸
- Visual Studio 2017 通过SSH 调试Linux 上.NET Core
- 基于Jenkins + Tomcat 的安卓客户端可持续化构建及发布下载(loltube.cn)
- 裁员下老公老婆的对话
- CIT 中文笔记完整版
- 应用ajax实现检测注册用户名是否已经存在
- windows c++版faster-rcnn
- esp32 例程 蓝牙_wifiamp;蓝牙MCU 该不该选ESP32