Memcached缓存介绍

Posted 大仙儿没溜儿

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Memcached缓存介绍相关的知识,希望对你有一定的参考价值。

Memcached是什么?

    是一个开源的,高性能,高并发的分布式缓存系统(存内存的缓存系统)

软件名称:Memcached-1.4.24.tar.gz

客户端名称:Memcache-2.25.tar.gz

 

Memcached的作用:

    通过自身内存中缓存关系型数据库的查询结果,减少数据库自身被访问的次数,以提高动态web应用的速度,提高网站架构的并发能力和扩展性

              1:电商的商品分类功能不会经常变动,可以实现放入memcache里,然后在对外进行数据访问,这个叫“数据预热”

              2:作为集群sesson会话共享存储

 

特性

  1.     协议简单,采用文本的协议,telnet/nc等命令就能操作memcached
  2.               支持epoll/kqueue异步I/O模型,使用libevent作为事件处理机制
  3.     key/value键值数据类型
  4.     全内存缓存,效率高
  5.              支持分布式集群(通过一致性hash算法)

 

 

安装:

#检查是否安装

rpm -qa libevent libevent-devel nc telnet

#安装管理工具及依赖

yum install libevent libevent-devel nc telnet -y

#安装memcache

yum install memcached -y

#查看路径

which memcached
/usr/bin/memcached

#启动

memcached -m 16m -p 11211 -d -u root -c 8192

#常用参数

-m:使用多大内存(默认64,最大1024)      -l    监听地址                                                                            

-p:端口(默认11211)               -P  PID保存的文件

-d:后台运行                               -M   内存不够时禁止LRU(清除数据),满了报错

-u :用户                                     -n   key+value+flags分配的最小内存空间,默认48字节

-c:并发连接数(默认1024)     -f      chunk size增长因子,默认1.25

#查看端口            

lsof -i:11211
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
memcached 2201 root 26u IPv4 12720 0t0 TCP *:memcache (LISTEN)
memcached 2201 root 27u IPv6 12721 0t0 TCP *:memcache (LISTEN)
memcached 2201 root 28u IPv4 12724 0t0 UDP *:memcache
memcached 2201 root 29u IPv6 12725 0t0 UDP *:memcache

 

#启用多实例(增加一个端口就行了)

memcached -m 16m -p 11212 -d -u root -c 8192

 

#语法

set              key1      0           0                                                 6

command   key       flags     exptime(过期时间,0不过期)     写入内容value大小字节数\r\n

插入  set

查询 get

删除  delete

更新替换  replace(数据存在才会替换)

 

 

#进入memcache

telnet 127.0.0.1 11211

#写入  取出   删除   数据

set user01 0 0 7   #7字符要与下面存的内容相同
daxian1                #7个字符
STORED             #成功
get user01           #通过key 取出数值
VALUE user01 0 7   #取出
daxian1                  #显示

delete user01    #删除

quit   #退出

 

#nc的用法

printf "set key1 0 0 6\r\ndaxian\r\n"|nc 127.0.0.1 11211

#取值

printf "get key1 \r\n"|nc 127.0.0.1 11211
VALUE key1 0 6
daxian
END

#删除

printf "delete key1 \r\n"|nc 127.0.0.1 11211

 















以上是关于Memcached缓存介绍的主要内容,如果未能解决你的问题,请参考以下文章

memcached

Memcached入门到缓存组件的选型

Memcached介绍

Memcached简单介绍

6.memcached缓存系统

Memcached