概述
?Memcached是一个高性能的分布式内存对象缓存系统,用于动态网络应用以减轻数据库负载。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态,数据库驱动网站的速度.Memcached基于一个存储键/值对的hashmap。其守护进程(守护进程)是用C写的,但是客户端可以用任何语言来编写,并通过Memcached协议与守护进程通信。
引用>特点
<代码> 1,协议简单; 2,基于libevent的事件处理; 3、内置内存存储方式; 4,memcached不互相通信的分布式。代码>存储方式
为了提高性能,memcached中保存的数据都存储在memcached内置的内存存储空间中。由于数据仅存在于内存中,因此重启memcached,重启操作系统会导致全部数据消失。另外,内容容量达到指定值之后,就基于LRU(最近最少使用)算法自动删除不使用的缓存.memcached本身是为缓存而设计的服务器,因此并没有过多考虑数据的永久性问题。
引用>工作原理
Memcached处理的原子是每一个(键值)对(以下简称kv对),关键会通过一个哈希算法转化成散列键,便于查找,对比以及做到尽可能的散列,同时,Memcached用的是一个二级散列,通过一张大哈希表来维护。
Memcached有两个核心组件组成:服务器端(服务器)和客户端(客户端),在一个Memcached的查询中,客户先通过计算关键的散列值来确定kv对所处在服务器的位置。当服务器确定后,客户端就会发送一个查询请求给对应的服务器,让它来查找确切的数据,因为这之间没有交互以及多播协议,所以Memcached交互带给网络的影响是最小化的。
引用>实验环境
<代码> memcached服务器192.168.13.128 (memcached-1.5.6.tar.gz libevent-2.1.8-stable.tar.gz) memcache客户端192.168.13.129 (memcache-2.2.7。tgz灯)代码>1部署memcached服务器
<代码> [root@server ~] # yum安装- y gcc gcc-c + +让# #安装环境组件 root@server ~ #山。cifs//192.168.100.3/LNMP-C7/mnt/密码root@//192.168.100.3/LNMP-C7: (root@server ~) # cd/mnt/memcached (root@server memcached) #焦油zxvf libevent-2.1.8-stable.tar。广州- c/opt/# #事件通知库 (root@server memcached) #焦油zxvf memcached-1.5.6.tar。广州- c/opt/# #解压事件库服务端 (root@server memcached) # cd/opt/libevent-2.1.8-stable/[root@server libevent-2.1.8-stable] # ./configure \ # #配置 比;——prefix=/usr/地方/libevent # #安装路径 [root@server libevent-2.1.8-stable] #做,,使安装# #编译安装 [root@server libevent-2.1.8-stable] # cd/opt/memcached-1.5.6/# ./configure \ [root@server memcached-1.5.6) 比;——prefix=/usr/地方/memcached \ 比;——with-libevent=/usr/地方/libevent # #关联libevent事件通知库 [root@server memcached-1.5.6] #做,,制作安装 [root@server memcached-1.5.6] # ln - s/usr/local/memcached/bin/*/usr/local/bin/# #建立软连接 [root@server memcached-1.5.6] # memcached - d - m 32 m -p11211 -uroot # #开启服务 # # - d守护进程;- m缓存大小32 m; - p端口11211 [root@server memcached-1.5.6] # netstat -ntap | grep memcached # #查看端口 [root@server memcached-1.5.6] # systemctl firewalld.service停止 [root@server memcached-1.5.6] # setenforce 0 [root@server memcached-1.5.6] # yum安装使用telnet - y # #安装telnet软件 [root@server memcached-1.5.6] # telnet 127.0.0.1 11211 # #本地测试登录 添加用户名0 0 7 # # 0:不设置序列号0:不设置过期事件7:字节长度 1234567 存储 添加用户0 0 7 123 错误 得到用户名# #查看 值的用户名0 7 1234567 结束 得到用户名# #查看 值的用户名0 7 # # 1:更新次数 1234567 代码> >之前结束2,在memcache客户端安装灯结构
<代码> # #灯结构见前博客有具体操作 # #测试数据工作是否正常 [root@client php-5.6.11] # mysql - u根-pabc123//进入数据库 创建数据库的天空;//创建一个数据库为天空 授予所有alt=" memcached内存数据库——部署及操作">5, memcache数据库基本操作
新建数据:
<代码>添加用户名0 0 7//添加数据(两个0表示:不进行压缩和序列化标识,数据过期时间为永不过期;标识号是7就需要输入7位数)。 老//输入一个7位数代码>查询数据:
memcached内存数据库——部署及操作