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)
对已存在的键值对更新,但是要加一个版本号,正确才能更新
# 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