memcached内存数据库——部署及操作

  

概述

  
  

?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内存数据库——部署及操作