Memcache特性和限制

转载 2017年01月03日 16:30:49
1、MemCache中可以保存的item数据量是没有限制的,只要内存足够
2、MemCache单进程在32位机中最大使用内存为2G,这个之前的文章提了多次了,64位机则认为没有限制
3、Key最大为250个字节,超过该长度无法存储
4、单个item最大数据是1MB,超过1MB的数据不予存储
5、MemCache服务端是不安全的,比如已知某个MemCache节点,可以直接telnet过去,并通过flush_all让已经存在的键值对立即失效
6、不能够遍历MemCache中所有的item,因为这个操作的速度相对缓慢且会阻塞其他的操作
7、MemCache的高性能源自于两阶段哈希结构:第一阶段在客户端,通过Hash算法根据Key值算出一个节点;第二阶段在服务端,通过一个内部的Hash算法,查找真正的item并返回给客户端。从实现的角度看,MemCache是一个非阻塞的、基于事件的服务器程序

8、MemCache设置添加某一个Key值的时候,传入expiry为0表示这个Key值永久有效,这个Key值也会在30天之后失效,见memcache.c的源代码:




1.  key值最大长度?

memcachedkey最大长度是250个字符

 

注意250memcached服务器端内部的限制(可以修改)

如果您使用的客户端支持"key的前缀"或类似特性,那么key(前缀+原始key)的最大长度是可以超过250个字符的。

我们推荐使用使用较短的key,因为可以节省内存和带宽。

key只要不重复就行,如果太大浪费内存。

 

2.key 不能有空格和控制字符

 

the keymust not include controlcharacters or whitespace.

 

 

3.  item的过期时间限制?

过期时间最大30

如果不注意这个细节,过期时间设置大于了30,值会设置不进缓存

 

4.  最大能存储多大的单个item?

1MB

如果你的数据大于1MB,可以考虑在客户端压缩或拆分到多个key中。


相关文章推荐

深入研究memcache 特性和限制

Memcache使用了Slab Allocator的内存分配机制:按照预先规定的大小,将分配的内存分割成特定长度的块,以完全解决内存碎片问题。Memcache的存储涉及到slab,page,chunk...

memcache连接数限制

由于客户端设置连接数过少,经常有超时现象,把服务器改为 2048 ,试试好些不. 经测试,的确好的多了. 但是估计还不够, 再增加到30720看看,每个 10240个 ----------...
  • liuzx32
  • liuzx32
  • 2012年07月27日 15:10
  • 1060

使用ORACLE10G VLM特性 使32位ORACLE突破1.7G SGA限制

最近公司在中心机房新增一台数据库用来存储解析前的原始数据使用,由于对该数据的安全性和实用性要求不高故采用了浪潮的英信系列服务器作为数据库服务器。考虑到数据库的性能,公司给该服务器配置了4G内存,由于一...
  • jlds123
  • jlds123
  • 2011年11月03日 10:12
  • 1347

利用javascript的面向对象的特性实现限制试用期

利用javascript的面向对象的特性实现限制试用期 Javascript是一种面向对象的脚本语言,其也具有面向对象的三大特性,但是今天我们不详细的讲解javascript的面向对象特性,今天我们...

php7.1x memcache.dll

  • 2017年11月18日 14:45
  • 104KB
  • 下载

php_memcache.dll

  • 2017年11月02日 13:10
  • 145KB
  • 下载

PHP实现多服务器session共享之memcache共享

再自定义一套session处理机制,关于session的实现方法我就不再多讲,直接贴程序了。 ...

php_memcache.dll 5.5.4版本的

  • 2015年02月10日 15:14
  • 68KB
  • 下载

Memcache集群环境下缓存解决方案

Memcache是一个高性能的分布式的内存对象缓存系统,通过在内存里维护一个统一的巨大的hash表,它能够用来存储各种格式的数据,包括图像、视频、文件以及数据库检索的结果等。简单的说就是将数据调用到内...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Memcache特性和限制
举报原因:
原因补充:

(最多只允许输入30个字)