Memcached学习

Memcached内存缓存系统,key-value格式,储存小块的内容(String,Object)

使用目的:缓存数据库查询结果,减少数据库访问次数,提高反应速度

安装

yum install libevent libevent-deve
yum install -y memcached

前台启动

# -p 端口 默认11211
# -m 占用内存大小(兆)
# -u 指定用户
# -vvv 日志打印(超详细)
memcached -p 11211 -m 64m -u root -vvv

后台启动

memcached -p 11211 -m 64m -u root -d

连接Memcached

#没有telnet就需要安装
telnet HOST PORT

储存命令

set

储存键值对,若key存在,更新value

# key 键
# flags 储存类型标记
# exptime 过期时间 单位秒
# bytes 要储存的字节长度
# noreply 不需要返回值(比如删除数据时:你就直接删除吧,我不需要知道结果)
# value 值
set key flags exptime bytes [noreply] 
value

add

储存键值对,若key已存在,不更新value

add key flags exptime bytes [noreply] 
value

replace

替换键值对,若key存在,替换value;不存在替换失败,响应 NOT_STORED

replace key flags exptime bytes [noreply] 
value

append

对已存在的键值对,根据健,在后面追加值, 不存在响应 NOT_STORED

append key flags exptime bytes [noreply] 
value

prepend

对已存在的键值对,根据健,在前面追加值, 不存在响应 NOT_STORED

prepend key flags exptime bytes [noreply] 
value

CAS(check and set 或compare and set)

对已存在的键值对更新,但是要加一个版本号,正确才能更新

扫描二维码关注公众号,回复: 959109 查看本文章
# unique_cas_token 版本号 可以通过gets key 获得当前key的版本号,只有版本号正确才能更新value
cas key flags exptime bytes unique_cas_token [noreply]
value

查询命令

get

根据key获取对应的value,不存在返回空

get key
#获取多个key,空格隔开
get key1 key2 key3

gets

同get,多获取一个CAS令牌(版本号)

gets key

delete

根据key 删除

delete key [noreply]

incr/decr

增加/减,key 不存在返回 NOT_FOUND,如果键的值不为数字,则返回 CLIENT_ERROR,其他错误返回 ERROR

incr key increment_value

猜你喜欢

转载自my.oschina.net/jiangqw/blog/1633306