zoukankan      html  css  js  c++  java
  • Memcache

    Memory:记忆

    Cache:贮存,缓存

    由这两个单词合成了 memcache:内存缓存

    1. Memcache概述

    Memcache是一个分布在内存里面缓存系统。在内存里面维护了一张表,来存储各种格式的数据,包括图像,视频,文件以及检索的结果。

    MemcacheMySQL是一样的,是一款客户端/服务器端软件。有IP,有端口(11211),一旦启动,服务器端就处于可用状态

    1. MemcacheWeb里面的应用

    Memcache缓存的主要目的就是分担数据库的检索压力。特别是对于大型网站,比如新浪微博,facebook,如果没有中间缓存区域,数据访问量由于太大,数据库吃不消。

    Memcache一般被用于流量比较大(访问量多)的网站,当然,例如公司网站,学校网站,私人网站这种就没必要了。

     

    1. 使用memcache作为中间缓存区的步骤

    ①  直接让PHP程序memcache里面寻找数据

    ② 如果memcache里面没有要取的数据,再让PHP程序去数据库取数据

    ③ 将数据显示给用户的同时,再将数据保存到memcache里面,并且指定一个缓存时间。

    ④ 之后如果要取相同的数据,就可以直接去memcache服务器去获取缓存数据,而不用每次都重新连接数据库

    1. 安装Memcache

    ①  wampbin文件夹下面新建一个memcache文件夹,将memcached.exe文件拷贝进去

     

    ② 以管理员的形式打开cmd,然后进入到memcache目录下面

    输入如下的指令:

    memcached.exe –d install 回车

    memcached.exe –d start  开始使用memcache

    netstat –an 查看网络端口状态  如果11211处于listening状态,说明安装成功

     

    memcached.exe –d stop  停止使用memcache

    memcached.exe –d uninstall  卸载memcache

    memcached.exe –h  显示memcache的帮助

    -p :监听的端口(默认为11211)

    -I:连接的IP的地址,默认是本机

    -d start 开始memcache服务

    -d stop|shutdown  停止memcache服务

    -d install 安装memcache

    -d uninstall 卸载memcache

    -u 以什么身份运行

     

    ③  memcache里面添加数据

    一般我们使用telnet这个工具,该工具是windows系统自带的

     

    默认telnet是没有打开的,需要在程序与功能里面打开【启动或关闭windows功能】,在telnet客户端前面打钩

     

    也是以管理员身份开启cmd 然后输入如下指令:

    telnet localhost 11211

     

    stats:当前memcached服务器的运行状态

     

    add命令

    使用add指令添加数据

    语法:add  键值 标记 有效期(单位是秒,如果写0代表永远有效) 数据长度

    Add  one  1  0  5

    Aaaaa

    输入回车后如果看到STORED代表添加数据成功

     

    Set命令

    设置数据:如果键值已经存在,则会被替换,如果不存在,则效果和add效果是一样

    Set one 1 0 2

    Aa

    如果看到STORED代表添加数据成功

     

    Get命令

    获取存储的值得命令

    Get 键值

    例如 get one

     

     

    Delete命令

    删除存储的值

    Delete 键值

    例如 delete one

    如果删除一个不存在的值,则会返回NOT_FOUND

     

    flush_all命令

    清除所有数据

     

    使用PHP操作memcache

    代码如下

     

    这里是通过PHPmemcache添加了一条数据

    One Hello memcache

    通过telnet查看,可以看到该变量已经成功被添加到了memcache里面

     

    通过手册可以查询到memcachePHP扩展的相关函数

     

     

    $memcache -> get('one');  获取数据

     $memcache -> delete('one'); 删除数据

     

    $memcache -> flush(); 清空memcache里面所有的数据

     

    $memcache -> getstats; 获取服务器的运行状态

     

     $memcache -> set('键名',’值’);设置某一个变量的值

    有一个别名函数:

    $memcache -> replace  这个为set的别名函数,接收的参数都是和replace一模一样的

     

    $memcache -> add('键名',’值’); 添加数据

     

    $memcache ->add(‘lamp’,array(‘Linux’,’Apache’,’MySQL’,’PHP’))

     

    注意点:memcache里面无法存入资源类型的变量

    Memcache的实际应用

    如下:

  • 相关阅读:
    《剑指Offer》二维数组中的查找
    白话计算机入门书籍--《穿越计算机的迷雾》有感
    Mysql Cluster7.5.6在 windows10 部署安装
    Mysql Cluster7.5.6 windows10 部署安装
    lll
    线程控制
    动态链接库相关知识
    二分查找及其变种简单易懂的模版
    白话 STL next_permutation 原理
    Maven本地上有包还去网上找包
  • 原文地址:https://www.cnblogs.com/q1345837355/p/7403688.html
Copyright © 2011-2022 走看看