转自:https://www.cnblogs.com/caoxiaojian/p/5715573.html

Memcache是高性能,分布式的内存对象缓存系统,用于在动态应用中减少数据库负载,提升访问速度。为了提高性能,memcached中保存的数据都存储在memcached内置的内存存储空间中。由于数据仅存在于内存中,因此重启memcached、重启操作系统会导致全部数据消失。另外,内容容量达到指定值之后,就基于LRU(Least Recently Used)算法自动删除不使用的缓存。
        libevent是一套跨平台的事件处理接口的封装,能够兼容包括这些操作系统:Windows/Linux/BSD/Solaris 等操作系统的的事件处理。Memcached 使用libevent来进行网络并发连接的处理,能够保持在很大并发情况下,仍旧能够保持快速的响应能力。所以安装Memcached需先安装libevent。

一、libevent的安装

基础环境的准备 
  1. wget http://sourceforge.net/projects/levent/files/libevent/libevent-2.0/libevent-2.0.22-stable.tar.gz
  2. tar -zxvf libevent-2.0.22-stable.tar.gz
  3. cd libevent-2.0.22-stable
  4. ./configure --prefix=/application/libevent
  5. make
  6. make install

二、Memcache的安装

  1. wget http://www.memcached.org/files/memcached-1.4.29.tar.gz
  2. tar -zxvf memcached-1.4.29.tar.gz
  3. cd memcached-1.4.29
  4. ./configure --prefix=/application/memcached --with-libevent=/application/libevent
  5. make
  6. make install

启动选项介绍:

-p TCP监听端口 (default: 11211)
-U UDP 监听端口 (default: 11211, 0 is off)
-s UNIX socket监听路径,不支持网络
-a UNIX socket访问掩码, 八进制 (default: 0700)
-l <ip_addr> 监听的服务器IP地址 (default: all addresses)
-r 最大限度利用核心文件限制
-u 运行memcached用户
-m 最大的内存使用 (default: 64 MB)
-M 内存耗尽返回错误
-c 最大并发连接 (default: 1024),按照你服务器的负载量来设定。
-k 锁定所有分页内存
-v 输出警告和错误信息
-vv 同时打印客户端请求和返回信息
-vvv 打印内部状态转换信息
-i 打印memcached 和 libevent 版本信息
-P 设置保存pid文件, only used with -d option
-f 块大小增长倍数 (default: 1.25)
-n key+value+flags最小分配空间(default: 48),key+value+flags默认是48
-L 如何有效,尝试使用大内存页。增加内存页大小可以减少失误的TLB数量,提高性能。
-D 指定key和IDs的分隔符 default is “:” (colon). 如果指定此选项,统计信息收集自动开启;
-t 使用的线程数量 (default: 4)
-R 每个事件的最大请求数 (default: 20)
-C 禁止使用 CAS
-b 设置积压队列数限制 (default: 1024)
-B 绑定协议 – one of ascii, binary, or auto (default)
-I 分配给每个slab页(default: 1mb, min: 1k, max: 128m)

服务启动

  1. memcached -d -m 10 -u root -l 192.168.0.122 -p 11200 -c 256 -P /tmp/memcached.pid
-d 选项是启动一个守护进程,
-m 是分配给Memcache使用的内存数量,单位是MB,这里是10MB
-u 是运行Memcache的用户,这里是root
-l 是监听的服务器IP地址,如果有多个地址的话,这里指定了服务器的IP地址192.168.0.122
-p 是设置Memcache监听的端口,这里设置了12000,最好是1024以上的端口
-c 选项是最大运行的并发连接数,默认是1024,这里设置了256,按照你服务器的负载量来设定
-P 是设置保存Memcache的pid文件

检查服务:

1、查看启动的memcache服务:
netstat -lp | grep memcached
2、查看memcache的进程号(根据进程号,可以结束memcache服务:“kill -9 进程号”)
ps -ef | grep memcached
3、查看状态
        对Memcached缓存服务的状态查询,可以先telnet连接上服务:telnet 127.0.0.1 11211 ,然后使用 stats命令查看缓存服务的状态,会返回如下的数据:    
  1. STAT pid 27954
  2. STAT uptime 139
  3. STAT time 1427031155
  4. STAT version 1.4.22
  5. STAT libevent 2.0.22-stable
  6. STAT pointer_size 32
  7. STAT rusage_user 0.005999
  8. STAT rusage_system 0.011998
  9. STAT curr_connections 10
  10. STAT total_connections 11
  11. STAT connection_structures 11
  12. STAT reserved_fds 20
  13. STAT cmd_get 0
  14. STAT cmd_set 0
  15. STAT cmd_flush 0
  16. STAT cmd_touch 0
  17. STAT get_hits 0
  18. STAT get_misses 0
  19. STAT delete_misses 0
  20. STAT delete_hits 0
  21. STAT incr_misses 0
  22. STAT incr_hits 0
  23. STAT decr_misses 0
  24. STAT decr_hits 0
  25. STAT cas_misses 0
  26. STAT cas_hits 0
  27. STAT cas_badval 0
  28. STAT touch_hits 0
  29. STAT touch_misses 0
  30. STAT auth_cmds 0
  31. STAT auth_errors 0
  32. STAT bytes_read 7
  33. STAT bytes_written 0
  34. STAT limit_maxbytes 67108864
  35. STAT accepting_conns 1
  36. STAT listen_disabled_num 0
  37. STAT threads 4
  38. STAT conn_yields 0
  39. STAT hash_power_level 16
  40. STAT hash_bytes 262144
  41. STAT hash_is_expanding 0
  42. STAT malloc_fails 0
  43. STAT bytes 0
  44. STAT curr_items 0
  45. STAT total_items 0
  46. STAT expired_unfetched 0
  47. STAT evicted_unfetched 0
  48. STAT evictions 0
  49. STAT reclaimed 0
  50. STAT crawler_reclaimed 0
  51. STAT lrutail_reflocked 0
参数项说明:
time:服务器当前的unix时间戳
total_items:从服务器启动以后存储的items总数量
connection_structures:服务器分配的连接构造数
version:memcache版本
limit_maxbytes:分配给memcache的内存大小(字节)
cmd_get:get命令(获取)总请求次数
evictions:为获取空闲内存而删除的items数(分配给memcache的空间用满后需要删除旧的items来得到空间分配给新的items)
total_connections:从服务器启动以后曾经打开过的连接数
bytes:当前服务器存储items占用的字节数
threads:当前线程数
get_misses:总未命中次数
pointer_size:当前操作系统的指针大小(32位系统一般是32bit)
bytes_read:总读取字节数(请求字节数)
uptime:服务器已经运行的秒数
curr_connections:当前打开着的连接数
pid:memcache服务器的进程ID
bytes_written:总发送字节数(结果字节数)
get_hits:总命中次数
cmd_set:set命令(保存)总请求次数
curr_items:服务器当前存储的items数量

常用命令的操作参考

作者:曹小贱

    

    

本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

Memcache的安装和使用【转】的更多相关文章

  1. Linux下memcache的安装

    memcache是高性能,分布式的内存对象缓存系统,用于在动态应用中减少数据库负载,提升访问速度.目前用memcache解决互联网上的大用户读取是非常流行的一种用法,在互联网企业中有着广泛的应用.‍关 ...

  2. Windows下Memcache的安装与在php中使用

    memcache dll插件和测试例子下载地址: http://pecl.php.net/package/memcache Windows下Memcache的安装方法 Memcached官方:http ...

  3. php无法加载Memcache缓存模块问题及Memcache的安装

    今天早上去迁移网站发现打开网站报错 然后我去phpinfo.php看了一下,果然我的测试页里面有加载到Memcache这个模块,如下图: 这时候,既然发现了问题的所在我们就要去排查问题,当前这个问题呢 ...

  4. windows php下memcache+memcached安装与配置

    环境声明: 服务器:Windows7 64-bit:Memcached:Memcached 64-bit for Windows(64位) 安装过程 解压刚刚下载的压缩包,得到两个文件:memcach ...

  5. 第二篇 Nosql讲解之windows下memcache的安装(一)

    memcached基本概念 1.Memcached是danga的一个项目,最早是LiveJournal服务的,最初为了加速LiveJournal访问速度而开发的,后来被很多大型的网站采用. 官方网站: ...

  6. windows下memcache扩展安装和搭建

    ### windows下memcache扩展安装和搭建 背景:在做微信公众号的开发时,token的有效期为7200秒,所以需要对token进行保存,在这选择了memcache作为缓存工具 memcac ...

  7. PHP Memcache 扩展安装

    PHP Memcache 扩展安装 PHP Memcache 扩展包下载地址:http://pecl.php.net/package/memcache,你可以下载最新稳定包(stable). 下载对应 ...

  8. php扩展memcached和memcache的安装配置方法:转载

    本文转载:http://www.jb51.net/article/56999.htm php连接memcached缓存服务器的客户端有两个,一个是memcache是比较底层的开发库,memcached ...

  9. Linux下memcache的安装和启动

    memcache是高性能,分布式的内存对象缓存系统,用于在动态应用中减少数据库负载,提升访问速度.据说官方所说,其用户包括twitter.digg.flickr等,都是些互联网大腕呀.目前用memca ...

随机推荐

  1. sklearn机器学习-泰坦尼克号

    sklearn实战-乳腺癌细胞数据挖掘(博主亲自录制视频) https://study.163.com/course/introduction.htm?courseId=1005269003& ...

  2. Helm简介及安装

    前提条件 一个kubernetes集群 安装和配置集群端服务Helm和Tiller 确定要应用于安装的安全配置(如果有) 1.安装HELM 每一个版本HELM提供多种操作系统的二进制版本.可以手动下载 ...

  3. 利用css3给座右铭设置漂亮的渐变色

    .footer-container .footer-content p .motto { font-weight: bolder; -webkit-background-clip: text; -we ...

  4. HDU 1575(裸矩阵快速幂)

    emmmmm..就是矩阵快速幂,直接附代码: #include <cstdio> using namespace std; ; ; struct Matrix { int m[maxn][ ...

  5. springboot(十六):springboot整合shiro

    数据库有五张表(userInfo,uerrole,role,rolepermission,permission) userInfo(id,username,password) userrole(uid ...

  6. electron入门

    Electron是由Github开发,用HTML,CSS和JavaScript来构建跨平台桌面应用程序的一个开源库. Electron通过将Chromium和Node.js合并到同一个运行时环境中,并 ...

  7. SQL Server2012远程访问第二个实列

    现在有一台A电脑和一台B电脑,A是公司的服务器,安装了两个数据库实例(Sql Server 2012 和Sql Server2008 R2),B电脑在家,安装了Sql Server数据库两台电脑不在一 ...

  8. ImportError: libcudnn.so.5: cannot open shared object file: No such file or directory

    ubuntu16.04安装cuda8.0,tensorflow-gpu版本后,运行时报错: ImportError: libcudnn.so.5: cannot open shared object ...

  9. Coursera, Big Data 1, Introduction (week 1/2)

    Status: week 2 done. Week 1, 主要讲了大数据的的来源 - 机器产生的数据,人产生的数据(比如社交软件上的update, 一般是unstructed data), 组织产生的 ...

  10. 第23月第24天 git命令 .git-credentials git rm --cached git stash clear

    在git push的时候,有时候我们会想办法撤销git commit的内容 1.找到之前提交的git commit的id git log 找到想要撤销的id 2.git reset –hard id ...