企业架构LNMP学习笔记45

失效机制(了解)

1)如果key过期了,value会及时删除么?空间会及时清理么?

2)如果分配的存储空间,写满了,还允许写么?

企业架构LNMP学习笔记45_第1张图片

-m可以配置内存大小。

memcached 内部不会监视记录是否过期,而是在 get时查看记录的时间戳,检查记录是否过期。这种技术被称为 lazy(惰性)expiration。因此,memcached 不会在过期监视上耗费 CPU 时间比如php的里session机制 懒惰机制 php垃圾回收机制 gc回收 python 变量垃圾回收机制

编程语言中,变量分配 栈空间(变量名称) 堆空间(变量值)

memcached1.4.25之后 就不是懒惰机制了。

当前时间和存储时间,这个差值来判断是否过期。

LRU:

memcached 会优先使用已超时的记录的空间,但即使如此,也会发生追加新记录时空间不足的情况,此时就要使用名为 Least Recently Used(LRU)机制来分配空间。顾名思义,这是删除“最近最少使用的记录的机制。因此,当 memcached 的内存空间不足时,就从最近未被使用的记录中搜索,并将其空间分配给新的记录。从缓存的实用角度来看,该模型十分理想

不过,有些情况下 LRU 机制反倒会造成麻烦。memcached 启动时通过“­M”参数可以禁止 LRU

 不够存的情况,加大缓存和加大内存。

单机可以增加到768G的内存。服务器就是这个样子。散热好。内存条、金手指。

正常的服务器都是32G内存。

需要加内存,-m进行添加。

php使用memcached:

php扩展安装:

在LNMP架构中,如果需要使用到memcached。首先需要安装对应的扩展,php7以上需要安装memcached扩展。

官方扩展地址:http://pecl.php.net/

1)上传PHP扩展源码包:

需要在web服务器的上安装,server01和server03

memcached-3.2.0.tgz php扩展

libmemcached-1.0.8.tar.gz php扩展的依赖。

2)解压编译安装:

你可能感兴趣的:(Nginx,架构)