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 知识点相关推荐

  1. Memcache知识点梳理

    http://369369.blog.51cto.com/319630/833234/ 1.检查客户端的请求数据是否在memcached中,如有,直接把请求数据返回,不再对数据库进行任何操作,路径操作 ...

  2. 什么是memcache,常见的memcache方法

    1.背景介绍 2.知识剖析 3.编码实战 4.常见问题 5.参考文献 6.更多讨论 1.背景介绍 什么是memcache memcached 是以LiveJournal旗下Danga Interact ...

  3. web开发微信文章目录

    Web开发微信文章目录 2015-12-13 Web开发 本文是Web开发微信的文章目录.通过目录查看文章编号,回复文章编号就能查看文章全文. 回复编号查看全文,搜索分类名可以获得该分类下的文章.   ...

  4. PHP框架编写和应用知识点,写PHP框架需要具备那些知识?

    原标题:写PHP框架需要具备那些知识? 后盾网 如果没用过框架,讨论各个框架的内容都没有可讨论性,想自己写个框架涉及到的内容很多,个人觉得自己写一个框架对自己的逻辑思维,开发架构以及这门语言都有质的提 ...

  5. 2020年PHP中级面试知识点及答案

    一.前言 最近博主也是历尽千辛万苦换了份工作,每次换之前不找点面试题看似乎就没自信一样..奈何网上有些面试题是比较老套的,所以这里重新总结一份2020年的,题目是有些是博主自己不熟悉的点,有些是bos ...

  6. php多选批量修改数据库数据类型有哪些_php面试题之memcache和redis的区别

    这篇文章介绍的内容是关于php面试题六之memcache和redis的区别,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下 Memcache和Redis区别: * Redis中,并不是所 ...

  7. 安装memcached服务 和 php 安装memcache扩展

    这是所有的命令,至于哪个命令是干嘛的自己悟去吧  ,顺便穿插一些知识点 安装libevent cd /home/ wget  http://www.monkey.org/~provos/libeven ...

  8. Java开发环境!java基础知识点总结

    一面(个人感觉回答得还不错) 1. 自我介绍 2. 说项目,项目问的非常深(本人提到之前做过的一篇关于FULL GC的问题定位和优化的项目以及一个多并发的项目) 2.1 对于自己产于过项目的系统定位是 ...

  9. java编程代写有哪些平台,学习路线+知识点梳理

    前言 今天刚好有空,跟大家聊聊如何学好算法进大厂. 前两天一个读者和我说,他坚持刷算法题2个月,薪资翻番去了他梦寐以求的大厂,期间面字节跳动还遇到了原题-其实据我所知目前国内的大厂和一些独角兽,已经越 ...

最新文章

  1. linux系统自带的监控工具
  2. Mtk Android 打包解包*.img
  3. win10+Tensorflow2 + cuda +RTX 3080 +cudnn 安装
  4. “损失厌恶心理”怎么影响了我们?
  5. android tv 源代码,android_tv_metro
  6. Ubuntu16.04 卸载Gazebo7 安装 Gazebo9
  7. html2个表单,单个html angular2中的多个表单
  8. 如何将lnmp 0.5里面的php5.2.14升级到php 5.3.3???
  9. retrofit2.6.0_RxAndroid和Retrofit 2.0
  10. BZOJ3295 [Cqoi2011]动态逆序对 分治 树状数组
  11. java输出阶乘_Java阶乘输出
  12. 工商银行Java技术笔试题
  13. c# winform word模板 利用WORD 书签 定位替换 生成 WORD
  14. Unity 网格合并MeshBaker(一)
  15. oracle odi 配置安装,ODI的安装和配置
  16. 【面试软技巧】你如何看待加班?
  17. Tcar:智能车之基于mg995型号舵机的驱动控制模块
  18. 日语基础语法(完整篇)
  19. Java中对索引的知识总结
  20. 概率论与数理统计学习笔记——第六讲——离散型随机变量(6.2贝努利概型和二项分布)

热门文章

  1. centos安装DHCP服务器
  2. [SDOI2011]工作安排 BZOJ2245
  3. 盘点:互联网上无处不在的僵尸
  4. Visual Studio 2017 通过SSH 调试Linux 上.NET Core
  5. 基于Jenkins + Tomcat 的安卓客户端可持续化构建及发布下载(loltube.cn)
  6. 裁员下老公老婆的对话
  7. CIT 中文笔记完整版
  8. 应用ajax实现检测注册用户名是否已经存在
  9. windows c++版faster-rcnn
  10. esp32 例程 蓝牙_wifiamp;蓝牙MCU 该不该选ESP32