MemoryCache

ubuntu install
官网

概念
  • slab
  • page
  • chunk

1.1、存储命令语法格式
{set|add|replace|append|prepend|cas} key flags exptime bytes {unique_cas_token:CAS}  [noreply] # 换行
value
1.2、字段说明
  • key:键值 key-value 结构中的 key,用于查找缓存值。
  • flags:可以包括键值对的整型参数,客户机使用它存储关于键值对的额外信息 。
  • exptime:在缓存中保存键值对的时间长度(以秒为单位,0 表示永远)。
  • bytes:在缓存中存储的字节数(字节数必须是value得实际长度)。
  • unique_cas_token: 通过 gets 命令获取的一个唯一的64位值(CAS)。(通过gets可以获取到该值
  • noreply(可选): 该参数告知服务器不需要返回数据。
  • value:存储的值(始终位于第二行)(可直接理解为key-value结构中的value)。
1.3、command
command desc
set 用于将 value(数据值) 存储在指定的 key(键) 中。(如果set的key已经存在,该命令可以更新该key所对应的原来的数据,也就是实现更新的作用)
add 用于将 value(数据值) 存储在指定的 key(键) 中。(如果 add 的 key 已经存在,则不会更新数据(过期的 key 会更新),之前的值将仍然保持相同,并且您将获得响应 NOT_STORED)
replace 替换已存在的 key(键) 的 value(数据值)。(如果 key 不存在,则替换失败,并且您将获得响应 NOT_STORED)
append 向已存在 key(键) 的 value(数据值) 后面追加数据
prepend 向已存在 key(键) 的 value(数据值) 前面追加数据
cas 用于执行一个"检查并设置"的操作它仅在当前客户端最后一次取值后,该key对应的值没有被其他客户端修改的情况下, 才能够将值写入。

2.1、查找相关得命令
command syntax desc
get get key ...[多个key之间空格分开] 获取存储在 key(键) 中的 value(数据值) ,如果 key 不存在,则返回空。
gets gets key ...[多个key之间空格分开] 获取带有 CAS 令牌存 的 value(数据值) ,如果 key 不存在,则返回空。(最后一列的数字 1 代表了 key 为 runoob 的 CAS 令牌)
delete delete key [noreply] 用于删除已存在的 key(键)
incr|decr {incr|decr} key increment_value incr 与 decr 命令用于对已存在的 key(键) 的数字值进行自增或自减操作

3.1、统计
command syntax desc
stats stats 返回服务端得状态信息
stats items stats items 返回服务端得状态信息
stats slabs stats slabs 返回服务端得状态信息
stats sizes stats sizes 返回服务端得状态信息
flush_all flush_all [time] [noreply] 删除存储得数据可以这是超时执行

4.1、启动和连接
  • [memcached | memcached [-h|--help]] 查看命令详情

    memcached 1.5.22
    -p, --port=          TCP port to listen on (default: 11211)
    -U, --udp-port=      UDP port to listen on (default: 0, off)
    -s, --unix-socket=  UNIX socket to listen on (disables network support)
    -A, --enable-shutdown     enable ascii "shutdown" command
    -a, --unix-mask=    access mask for UNIX socket, in octal (default: 700)
    -l, --listen=       interface to listen on (default: INADDR_ANY)
    -d, --daemon              run as a daemon
    -r, --enable-coredumps    maximize core file limit
    -u, --user=         assume identity of  (only when run as root)
    -m, --memory-limit=  item memory in megabytes (default: 64)
    -M, --disable-evictions   return error on memory exhausted instead of evicting
    -c, --conn-limit=    max simultaneous connections (default: 1024)
    -k, --lock-memory         lock down all paged memory
    -v, --verbose             verbose (print errors/warnings while in event loop)
  • [systemctl|service] [start|stop|restart] memecached 来启动服务

    service  memcached start
    service  memcached restart
    service  memcached stop
  • memcached -d如果这种方式启动服务,那么需要使用kill来关闭服务
  • telnet|netcat 来进行连接 默认端口11211

    telnet 127.0.0.1 11211

5.1、其他

参考