这篇博文以实用为目的,因此,先阐述如何安装Memcached,然后在实践中谈谈自己自己对Memcached的一点理解。

  首先,安装Memcached,点击此处下载安装文件以及源码

  解压文件(我这里将安装文件放在F盘文件夹memcached-1.2.6-win32-bin中)。

  以管理员身份运行cmd。

  第一步:定位解压文件位置,如果是F盘,则直接输入F: ,然后回车键;

  第二步:定位memcached.exe所在的文件下,输入命令 cd F: memcached-1.2.6-win32-bin,继续回车;

  第三步:安装服务,输入命令 memcached –d install,然后回车。

  安装过程,如下图所示:

  

  Memcached的默认服务端口号为 11211,当然也可以使用命令memcached.exe -p 11211 -m 64    指定它的监听端口是11211(这是它的默认端口,可以指定为其它大于1024的端口,因为小于1024的端口已经有了默认指定),最大使用内存为64m。

  安装成功后,我们可以telnet memcached,查看里面的一些信息。

  运行cmd,然后直接输入命令 telnet 127.0.0.1 11211,进入后输入 stats,查看memcached的状态,如下图所示

  

  输入quit 指令,并按下Enter 可退出

  如果你的系统是w7,则可能提示你没有安装telnet,则需要打开控制面板,点击左侧“打开或关闭windows功能”,打开后勾选Telnet相关组件即可。

  进入memcached后,如下图所示,我们可以输入命令"add",如下图所示。

  

  即可往memcached里存储数据类型为整型,长度为11,存储时间无限长的的名称为testkey1的数据。

  存储命令的格式:

  <command name> <key> <flags> <exptime> <bytes>

  <data block>

  参数说明如下:

    <command name>   set/add/replace  

    <key>  查找关键字

    <flags>  客户机使用它存储关于键值对的额外信息

     <exptime> 该数据的存活时间,0表示永远

    <bytes>  存储字节数

    <data block>  存储的数据块(可直接理解为key-value结构中的value)

    1、set

        不但可以简单添加,如果set的key已经存在,该命令可以更新该key所对应的原有数据,实现更新的作用。

    存储后,可输入 命令 get  <key>查看存储的数据,如下图所示。

     

     set命令不但可以简单添加,如果set的key已经存在,该命令可以更新该key所对应的原来的数据。

       gets可以检查数据是否发生改变。当key对应的数据改变时,返回的数据也会改变。

     如果使用gets命令,会在数据长度后面多一个变量值,这里是3。如下图所示。

     

      2、replace

       替换原有的数据,不仅可以替换key,也可以替换value的大小,如下图所示。

      

       3、delete <key>

        删除缓存,如下图所示

      

       4、gets

        比普通的get命令多返回了一个数字。这个数字可以检查数据是否发生改变,

        如下图所示(下图中为9,由“123456”替换为了“123”,至于如何计算出9的,我也不太清楚)。

       5、cas

         即checked and set的意思,只有当最后一个参数和gets所获取的参数匹配时才能存储,否则返回“EXISTS”。

       

       6、stats cachedump slab_id  limit_num

           limit_num表示返回多少条记录,0表示显示出所有记录

      

      至于 slab所代表的意思,下面会慢慢讲来。

       7、append

         在现有的缓存数据后添加缓存数据,如下图所示。

      8、prepend

        在现有的缓存前添加缓存数据,如下图所示

    

      9、flush_all

      实际上没有立即释放项目所占用的内存,而是在随后陆续有新的项目被储存时执行(这是由memcached的懒惰检测和删除机制决定的)。

     

      讲了这么多操作,下一篇会返回来谈谈理论吧。

Memcached学习一:Memcached安装使用的更多相关文章

  1. memcached 学习 1—— memcached+spring配置

    memcached 学习目录: memcached 学习 1—— memcached+spring配置 这几天自己搭建项目环境,解决问题如下: 有关常见的配置这里没有列出,中间遇到的搭建问题比较顺利g ...

  2. memcached学习——大纲简介 && 安装(基于centos6.5)、启动、关闭memcached(一)

    大纲简介 安装前,先简单介绍一下memcached. memcached是一个免费.开源.高性能的分布式缓存.设计memcached的初衷是为了加快web应用程序,减少DB负载. 安装要求:支持大多数 ...

  3. (转)memcached学习笔记1(windows 7 64bit 环境下安装memcached)

    windows 7 64bit 环境下安装memcached 1.下载后解压到D:\memcached(下载地址:memcached-win64下载地址) 2.安装到windows服务,打开cmd命令 ...

  4. memcached学习笔记2--安装及命令

    学习memcached的原理: 用户一 -> 访问浏览器 -> 服务器Apache -> PHP文件(该文件应用了memcached技术) -> [第一次]到数据库DB中查找数 ...

  5. Memcached 学习笔记(二)——ruby调用

    Memcached 学习笔记(二)——ruby调用 上一节我们讲述了怎样安装memcached及memcached常用命令.这一节我们将通过ruby来调用memcached相关操作. 第一步,安装ru ...

  6. Memcached学习笔记

    [TOC] 前言 此为学习笔记汇总,如有纰漏之处,还望不吝指出,谢谢. 启动流程 调用settings_init()设定初始化参数 从启动命令中读取参数来设置setting值 设定LIMIT参数 开始 ...

  7. Memcached在windows下安装与使用

    建议:windows系统下仅为测试所有,生产环境下服务端应使用Linux系统. 本文最后更新于:2014-08-03 18:24 原文:http://www.yaosansi.com/post/mem ...

  8. memcached 的简介、安装、命令

    一.memcached 概述 Memcache(内存,缓存) : 是一个高性能的分布式的内存对象缓存系统.通过在内存里维护一个巨大的hash表.(key=value) Hash表 key(键) val ...

  9. 分布式缓存技术memcached学习(一)——linux环境下编译memcahed

    安装依赖工具 [root@localhost upload]# yum  install gcc  make  cmake  autoconf  libtool 下载并上传文件 memcached 依 ...

  10. memcached学习(二)

    Slab Allocation机制:整理内存以便重复使用 最近的memcached默认情况下采用了名为Slab Allocator的机制分配.管理内存. 在该机制出现以前,内存的分配是通过对所有记录简 ...

随机推荐

  1. 2018SDIBT_国庆个人第一场

    A - Turn the Rectangles CodeForces - 1008B There are nn rectangles in a row. You can either turn eac ...

  2. python流程控制while和if

    流程控制 1.流程控制if if的4种语法 语法1:   #结构形式 #if条件: # 代码1 # 代码2 # 代码3 # ... key_bak=123 key=int(input('key:')) ...

  3. mysql索引小结——高性能mysql

    1.索引可以包含一个或者多个列的值,如果索引包含多个列的值,列的顺序很重要,mysql只能高效地使用索引的最左列前缀列. 2.索引是在存储引擎层而非服务器层实现的. 3.B-tree索引的限制: 如果 ...

  4. 关于AB包的释放与 Resources.UnloadUnusedAssets的关系

    Resources.UnloadUnusedAssets 并不能释放AB包中东西,只能释放从AB包中加载出来的资源,也可以释放场景中的资源,其它不是从AB包加载来的资源. AB加载后,整个包都加载到内 ...

  5. linux 内存布局以及tlb更新的一些理解

    问题: 1.内核线程是否有vma线性区? 2.单线程的一个进程,它修改了自己的页表,是否需要发送ipi来通知其他核更新tlb? 3.普通进程,在32位和64位,对应的线性区的最大地址能到多少? 在64 ...

  6. thinkphp的PHPexecl表格样式设置

    /** * 以下是使用示例,对于以 //// 开头的行是不同的可选方式,请根据实际需要 * 打开对应行的注释. * 如果使用 Excel5 ,输出的内容应该是GBK编码. */ //require_o ...

  7. [C语言]使用函数

    ------------------------------------------------------------------------------------------ //函数原型声明: ...

  8. C# windows服务:如何获取服务程序所在的文件夹

    AppDomain.CurrentDomain.BaseDirectory 就这么一句话

  9. unity 2048Game

    将游戏分为四个脚本,将数据和界面分开,这是开发模式常用的类似于mvc模式,但由于我们只用一个二位数组就可以保存数据,所以讲m省略 GameControllor 控制游戏数据的脚本, using Uni ...

  10. monkeyrunner学习笔记

    前面部分内容转自http://blog.csdn.net/zm2714/article/details/7980634 Android自动化测试之Monkeyrunner使用方法及实例 目前andro ...