memcache的应用细节和整理
环境:linux centos6.5
memcached-1.4.20.tar.gz
安装步骤:
# tar -zxvf memcached-1.4.20.tar.gz
# cd memcached-1.4.20
# ./configure --prefix= /usr/local/memcached
# make
# make install
到此安装完成,
启动memcache
# cd /usr/local/memcached/bin
# ./memcached -p 11211 -d -u root -m 64 -vvv ### -p 启动端口 默认11211 可以指定别的端口 如11212 -d 守护进程 启动 -u root 启动用户 -m 64 启动的内存多大 -v 标准输出 -vvv 以标准输出在控制台上显示
如上图所示表示启动成功.
具体的使用如下:
增: add 往内存增加一行新记录
语法:add key flag expire length 回车
key 给值起一个独特的名字
flag 标志,要求为一个正整数
expire 有效期
length 缓存的长度(字节为单位)
flag 的意义: memcached 基本文本协议,传输的东西,理解成字符串来存储. 想:让你存一个对象,和一个 数组,怎么办? 答:序列化成字符串,往出取的时候,自然还要反序列化成 对象/数组/json 格式等等. 这时候,flag 的意义就体现出来了. 比如,1 就是字符串,2 反转成数组 3,反序列化对象.....
expire 的意义: 设置缓存的有效期,有 3 种格式 1:设置秒数, 从设定开始数,第 n 秒后失效. 2:时间戳, 到指定的时间戳后失效. 比如在团购网站,缓存的某团到中午 12:00 失效.add key 0 13792099996 3: 设为 0. 不自动失效.
注: 有种误会,设为 0,永久有效.错误的.
1:编译 memcached 时,指定一个最长常量,默认是 30 天. 所以,即使设为 0,30 天后也会失效. 2:可能等不到 30 天,就会被新数据挤出去.
delete 删除 deletekey [time seconds] 删除指定的 key. 如加可选参数 time,则指删除 key,并在删除 key 后的 time 秒内,不允许 get,add,replace 操作此 key.
replace 替换 replacekeyflagexpire length 参数和 add 完全一样,不单独写
get 查询 get key 返回 key 的值
incr,decr 命令:增加/减少值的大小 语法:
incr/decr key num
set age 0 0 2 28
stored
get age
value age 0 2 28
end
incr age 1
29
incr age 2
31
decr age 1
30
decr age 2
28
具体代码如下 add&& get
# telnet localhost 11211 ## 用telnet方式去连接
[kssadmin@localhost bin]$ telnet localhost 11211
Trying ::1...
Connected to localhost.
Escape character is '^]'.
add test 0 0 5 #### add 语法 add key flag expire length
hello
STORED
get test #### get test get 语法 get key
VALUE test 0 5
hello
END
quit ### 退出
删除语法:
delete test ###delete key
DELETED
get test
END