广告
返回顶部
首页 > 资讯 > 数据库 >Memcache服务搭建
  • 325
分享到

Memcache服务搭建

2024-04-02 19:04:59 325人浏览 八月长安
摘要

Memcache  Memcache的作用网上资料都讲的很好,说简单点就是减轻读取数据库的压力,原理也很简单:  被请求的数据会先到memcache里去取,如果没有就去数据库里取,顺便给memcache带一

Memcache

  Memcache的作用网上资料都讲的很好,说简单点就是减轻读取数据库的压力,原理也很简单:

  被请求的数据会先到memcache里去取,如果没有就去数据库里取,顺便给memcache带一份。

  每次更新数据也先更新memcache里的数据,如果没有则更新数据库,同时更新memcache。

  因此需要注意的是这个数据是易失去性存储的。

 

模式和端口

  Memcache是一个基于C/S的结构:

      服务端:使用Memcached软件

  客户端:使用Memcache插件 (这个插件是结合后端语言比如PHP python java)

  服务端口:11211(可改)

 

软件清单:

  libevent依赖库      Http://www.libevent.org/   

  memcache插件       http://pecl.php.net/package/memcache/

  memcached服务              http://www.memcached.org/

  lamp环境           yum -y install httpd php php-Mysql mysql-server

      操作系统                          Centos-6.5(x86_64)

 

 

1.将上传相关软件包,安装lamp环境

      yum -y install httpd php php-mysql mysql-server      /etc/init.d/httpd start      echo "<?php phpinfo()?>" > /var/www/html/index.php

 

      然后用浏览器访问查看php信息,在信息里面是找不到memcache的

Memcache服务搭建

 

2.安装libevent插件

  tar xf libevent-2.0.22-stable.tar.gz

  cd libevent-2.0.22-stable

     ./configure --prefix=/usr/local/libevent && make && make install

 

 

3.安装memcached服务端

Memcache服务搭建

  tar xf memcached-1.4.36.tar.gz

  cd memcached-1.4.36  ./configure --prefix=/usr/local/memcached --with-libevent=/usr/local/libevent/

  make && make install

Memcache服务搭建

 

  安装好后会在/usr/local/memcached/bin/目录下生成memcached

 

4.配置环境变量

Memcache服务搭建

  cd  /etc/profile.d/ 

  vim mem.sh  export PATH="/usr/local/memcached/bin:$PATH"  #写入profile文件开机自动导入  memcached -m 32 -p 11211 -d -c 8192 -u root   #m分出内存大小 p 端口 d 混合模式 c 最大连接数  netstat -anptu | grep memcached        #查看是否启动,运行多实例更改端口即可  free -m                      #可以看到内存越来越少,因为被分配出去了  ps -aux | grep memcached            #查看进程pid是多少  kill -9 1234                   #关闭memcached服务

   pkill memcached                  #同上

Memcache服务搭建

 

 

5.memcached使用

  yum -y install nc telnet

     1)使用nc命令连接memcache

   printf "set first 0 30 5\r\nmmmmm\r\n" | nc 127.0.0.1 11211   #存数据 (字段分别为 key,标志,效期,长度,值 )  printf "get first\r\n" | nc 127.0.0.1 11211            #取数据

  2)使用telnet命令连接memcache

  telnet 127.0.0.1 11211    #然后就可以使用相关的memcached命令了

 

6.下面是关于memcached相关的操作命令

  

    add key1 0 30 3    #添加数据30为效期(如果写0表示永不过期) 3为大小

  set key1 0 30 3    #更新数据,不存在会自动创建

  replace key1 0 30 3  #更新数据,不存在会报错

  delete key1      #删除数据

  get key1       #获取数据

  gets key 1       #获取更多信息

  stats setting    #查看配置信息

  stats slabs     #查看slab

  stats items     #查看item

  stats size      #查看大小

 

 

7.安装memcache客户端php插件

  安装phpize命令可以为php添加新模块

  如果不知道是什么包可以使用 yum provides */phpize

Memcache服务搭建

  yum -y install php-devel

  tar xf memcache-2.2.7.tgz

  cd memcache-2.2.7  phpize          #打模块,生成configure等文件  which php-config      #查看php-config路径位置  ./configure --enable-memcache --with-php-config=/usr/bin/php-config

  make && make install

Memcache服务搭建

 

  安装号后模块会被安装置/usr/lib64/php/modules/memcache.so

  cd /etc/php.d/

  cp mysql.ini memcache.ini  #vim进行编辑将extension的值设置成memcache.so

 

  重启服务后可以看到php已经支持了memcache模块了

  Memcache服务搭建

 

8.后面可以结合php网站测试数据库相关

  tar xf memcache_page.tar.gz -C /var/www/html/  cd !$

  Memcache服务搭建

  测试页面有 mysql_connect.php 编辑一下

      Memcache服务搭建

 

  因此需要先把mysql的用户设置一下

  /etc/init.d/mysqld  start

  mysql_secure_installation

  或者自己在数据库里

  grant all on *.* to 'root'@'127.0.0.1' identified by '123456'  flush privileges

  然后浏览器访问mysql_connect.php

   Memcache服务搭建

  对接成功

 

  这里可以阅读read.php和write.php了解memcache的读写原理

read.php

Memcache服务搭建

<?php$memcachehost = '192.168.1.113';$memcacheport = 11211;$memcachelife = 60;          #memcache默认有效期$memcache = new Memcache;$memcache->connect($memcachehost,$memcacheport) or die ("Could not connect");  #连接memcache服务器$num=$_POST["num"];$db=db1;$tb=T1;$query="select * from $tb where ID=$num";  #mysql查询语句#$key=md5($query);$key=md5($num);                  #对参数进行加密,可以看出memcache存储的值是进过加密的if(!$memcache->get($key))            #尝试先从memcache取值,如果没有去数据库取,顺便给memcache来一份{                $conn=mysql_connect("127.0.0.1","root","123456");                mysql_select_db($db);                $result=mysql_query($query);#       echo "mysql $num";
                while ($row=mysql_fetch_assoc($result))
                {                        $arr[]=$row;
                }                $f = 'mysql';                $memcache->add($key,serialize($arr),0,30);                $data = $arr ;
}else{        $f = 'memcache';        $data_mem=$memcache->get($key);        $data = unserialize($data_mem);
}echo "$f $num";echo "key is $key";echo "<br>";?>

Memcache服务搭建

 

write.php

Memcache服务搭建

<?php$memcachehost = '192.168.1.113';$memcacheport = 11211;$memcachelife = 60;$memcache = new Memcache;$memcache->connect($memcachehost,$memcacheport) or die ("Could not connect");$num=$_POST["num"];$db=db1;$tb=T1;$query="insert into $tb values($num)";#$key=md5($query);$key=md5($num);if(!$memcache->get($key))            //先尝试更新memcache,如果不存在,则再去更新数据库,同时更新存储到memcachce{                $conn=mysql_connect("127.0.0.1","root","123456");                mysql_select_db($db);                $result=mysql_query($query);                while ($row=mysql_fetch_assoc($result))
                {                        $arr[]=$row;
                }                $f = 'mysql';                $memcache->add($key,serialize($arr),0,30);        //mysql 插入成功后,插入 memcached
                $data = $arr ;#}#else{
        $f1 = 'memcache';        $data_mem=$memcache->get($key);        $data = unserialize($data_mem);
}echo "$f $f1 $num";echo "<br>";?>

Memcache服务搭建

 关于php memcache简单用法参见http://www.cnblogs.com/demonxian3/p/6868361.html

 上面两个php里可以看到调用了数据库的db1 和 表T1因此需要创建一下

  seq 1 999 > /tmp/sum  #创建1-999的测试数据

 

  连接数据库导入数据

  create database db1; create T1(id int)engine=innodb;  load data infile '/tmp/sum' into table T1;  #导入测试数据

  科普一下:使用history查看历史命令,输入!+数字可以执行编号的那条命令

  !111

 

  用浏览器来访问那个测试页面

  Memcache服务搭建

 

   测试读取数据,从数据库里查询出id为5的值

     Memcache服务搭建

     Memcache服务搭建

  后退再去取一次

    Memcache服务搭建

  测试写入数据

    Memcache服务搭建

    Memcache服务搭建

  最后给大家推荐一款很好用的memcache管理工具:memadmin    php写的


您可能感兴趣的文档:

--结束END--

本文标题: Memcache服务搭建

本文链接: https://www.lsjlt.com/news/38379.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Memcache服务搭建
    Memcache  Memcache的作用网上资料都讲的很好,说简单点就是减轻读取数据库的压力,原理也很简单:  被请求的数据会先到memcache里去取,如果没有就去数据库里取,顺便给memcache带一...
    99+
    2022-10-18
  • centos7搭建gitlab服务器搭建
    在当今的技术领域,代码管理和版本控制变得越来越重要。为了组织和管理代码,越来越多的开发团队开始使用GitLab进行代码管理。GitLab是一个流行的基于Git的开源代码管理平台,提供了多种功能,例如版本控制、问题跟踪、CI/CD等。在本篇文...
    99+
    2023-10-22
  • 原神私服搭建二: 搭建服务端
    原神私服搭建二: 搭建服务端 所需资源: 一:下载jar包 链接:https://github.com/Grasscutters/Grasscutter/releases 二:下载资源 resources(下面两个链接任选其一) 链接一...
    99+
    2023-08-17
    java 开发语言 游戏 mongodb
  • 搭建Telnet服务
    可能大家都知道现在已经很少有人用TELNET服务器, 因为它传输数据是以明文的方式,我们很容易通过抓包软件讲数据进行抓包,然后将有用的数据取出来占为己用。但是也不是没有解决方案,你可以用telnet进行数据传输。一.安装Telnet服务器...
    99+
    2023-06-03
  • 如何搭建云服务器搭建wordpress
    搭建云服务器可以使用以下方法: 安装云服务器:首先需要安装云服务器的基础配置,这里推荐使用 Microsoft Azure 云服务器进行部署。如果不想自己安装,也可以参考下面的步骤。 选择云服务器:选择云服务器的主机型号和云主机的类型。...
    99+
    2023-10-26
    服务器 wordpress
  • Windows搭建NTP服务器——搭建时间同步服务器
    本环境搭建环境是windows2012R2 在Windows 服务器下,按住“ windows+r ”打开“运行”对话框,输入regedit,点击“确定”打开注册表。 依次打开HKEY_...
    99+
    2023-09-22
    服务器 windows Powered by 金山文档
  • windows下怎么搭建git服务器搭建
    在Windows平台下,搭建Git服务器可以让用户更好地管理自己的代码库。在接下来的文章中,我们将教你如何在Windows平台下搭建Git服务器。一、安装Git首先,我们需要从Git官网上下载最新版本的Git。下载完成后,我们可以使用默认选...
    99+
    2023-10-22
  • 【域控服务搭建】Windows Server 2012搭建域
    实验设备: win11,win7,windows server 2012 实验准备: Windows server 2012设置好静态IP,保证相互之间可以ping通 写在前面的话:在Linux加入域那里可能会发现域名跟刚开始搭建的域名不同...
    99+
    2023-08-19
    linux 服务器
  • 搭建samba服务器
    在Windows下使用虚拟机安装Ubuntu或者Debian等Linux系统,经常需要搭建samba服务,实现虚拟机与Windows主机之间文件共享,方便开发或者文件传输。 安装samba sudo apt install samba 配置...
    99+
    2023-09-12
    服务器 debian linux
  • 云服务器搭建
    云服务器搭建需要考虑多方面的因素,包括服务器的选择、网络连接、存储空间和安全性等方面的考虑。以下是一些可能用到的步骤和注意事项:选择一家合适的云服务器提供商。您需要了解该服务提供商的历史和口碑、服务器的硬件配置和性能、是否支持多种操作系统和...
    99+
    2023-10-25
    服务器
  • gitlab10服务器搭建
    GitLab 是一个用于仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭建起来的web服务系统是Centos7.3gitlab版本:10.4.2,新版本集成了CI/CD功能,自动发布系统会用到1、配置yum源# ...
    99+
    2023-01-30
    服务器
  • Docker 搭建 MySQL 服务
    安装 Docker 请参考我的另一篇文章 Docker 安装及使用 建立镜像 拉取镜像 # 拉取最新版本镜像 docker pull mysql # 拉取执行版本镜像 docker pull mysql:版本号 检查拉取是否成...
    99+
    2020-11-29
    Docker 搭建 MySQL 服务
  • Python搭建HTTP服务
    背景 本次我们要为一个自动化测试工具搭建一个HTTP服务,以方便一个本地的测试工具被大家在网络中共享使用。 一、方案选择: Python socket 二、选择理由 底层测试工具由python编写,因此使用python搭建HTTP服务...
    99+
    2023-01-31
    Python HTTP
  • 搭建DNS服务器
    目录 搭建DNS缓存服务器 1.安装bind 2.修改配置文件 3.正向解析:  4.进行反向解析: 5.对文件的属主进行修改:  6.查看本机网卡: 7.查看本机DNS: 8.nslookup解析域名: 9. windows测试: 10....
    99+
    2023-09-17
    服务器 运维 linux
  • DNS服务搭建(3)
    ★配置DNS转发  我之前配置的DNS服务只能解析我定义过的zone,而没有定义的zone是不能解析的,因此存在着很大的弊端。但是配置了DNS转发之后,就可以顺利解析互联网上了其他域名了,当然,解析此域名的前提是这个域名在互联网中确实存在并...
    99+
    2023-01-31
    DNS
  • python搭建服务器
    python搭建服务器以快捷著称,实际上,我们也可以使用python搭建简易的服务器。 1.环境配置 当然首先得搭建python的开发环境,对于mac和linux的用户来说,一般python是自带的,当然,如果没有的话也可以很方便地进行安...
    99+
    2023-01-31
    服务器 python
  • Win2016服务器DNS服务搭建
    文章目录 前言一、什么是DNS?1.为什么需要DNS系统2.为DNS(Domain Name System,域名系统)的功能3.域名解决方案的演进 二、域名介绍1.域名空间结构2.常见的顶...
    99+
    2023-09-11
    服务器 运维
  • 阿里云搭建SVN服务器搭建指南
    在当前信息化时代,SVN(Subversion)已经成为企业团队中进行版本控制的重要工具。然而,如何在阿里云上搭建一个稳定、高效的SVN服务器呢?本文将为您详细解答。 一、SVN服务器搭建流程注册阿里云账号:首先,您需要注册一个阿里云账号。...
    99+
    2023-11-20
    阿里 服务器 指南
  • git服务器搭建docker
    近年来,随着云计算和容器技术的兴起,Docker成为最流行的容器化技术之一。而Git作为目前最常用的版本控制工具,也需要与Docker进行整合,以便更好地管理代码和应用程序。在本文中,将介绍如何在Docker容器中搭建Git服务器。安装Do...
    99+
    2023-10-22
  • ecs云服务器搭建
    CsS云服务器是一种用于虚拟化和云计算的云服务器,它可以通过网络连接到公共因特网,提供高可用性和快速响应服务。下面是一种常见的云服务器架构:CsA (Cloud Aliasing Administrator,云管理员):云管理员是虚拟机的管...
    99+
    2023-10-25
    服务器 ecs
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作