memcache的用法与常识

来源:互联网 发布:地图填色软件 编辑:程序博客网 时间:2024/05/19 09:40

 以下是自学it网--中级班上课笔记

           网址:www.zixue.it



memcache常用的选项

-p  端口号
-m  制定占多大内存 默认是64
-f  增长因子  默认是1.25
-u  用哪个用户
-c  可以连接的程序   默认是1024
-d  是后台运行

memcache的启动
memcached.exe -m 64 -p 11211 -vvv

memcached的连接
打开telnet
命令格式:telnet host 端口号

telnet 127.0.0.1 11211
按 ctrl+]显示回显功能


memcache添加
add key flag expire length
flag:定义存入的类型
expire:缓存时间  设置秒数、设置指定时间戳、设置0是不自动失效
length:存储的长度 

memcache 删除
delete key[time]
如果有time则会在删除后的几秒内不允许使用这个键名
 
memcache 修改
replace key flag expire length

memcache查找
get key

set 的参数和replace的参数是一样的

incr key 值  +1
decr key 值  -1

stats统计功能
flush_all清空当前所有memcahe当前所有存储的键值

memcache内存存储机制
内存的碎片
memcache用 slab(仓库) chunk机制来管理内存
警告:
如果有100byte的内存需要存,但122大小的仓库中的chunk满了
并不会寻找更大的,如144的仓库来存储,
而是把122仓库的旧数据踢掉

设置合理的生长因子
grow factor 默认是1.25倍

memcache的过期数据删除机制
1.当某个值过期后,并没有从内存删除。因此,stats统计时,curr_item有其信息
2.如果之前没有get过,将不会自动删除,当新值来占用位置时,就只接可以占用
3.当取其值时,判断是否过期,如果过期,返回空,并且清空,curr_item就减少了

惰性失效机制
好处--节省了cpu时间和检测成本

操作系统内存的管理,常用FIFO,LRU删除
FIFO:删除老的数据添加新的数据
LRU:删除不长使用的键,添加新的键

memcache依赖libevent库
liunx 编译memcache
先安装gcc make cmake autoconf libtool

先安装库
linux下查看时间
data
修改时间
data -s '2013-09-15 12:18:50'
修改后保存到磁盘上
clock -w

memcache的一些参数限制
key 的长度是250的字节
calue 的限制是1M 一般都是存储一些文本,这个值足够了
内存的限制 32位下最大设置2G

如果有30G数据要缓存,一般一般也不会单实例装30G
一般建议 开启多个实例(可以在不同的机器,或同台机器上的不同端口)
原创粉丝点击