8.Memcache
1.概述
(1) Memcached是什么
Memcached是一款开源的、高性能的、分布式的内存对象缓存系统
(2) Memcached能干什么
最主要的功能就是:在内存中缓存数据,以减轻数据库负载。
它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动
态、数据库驱动网站的速度。
(3) Memcached特点
在内存中以键/值对存储,性能好
协议简单(基于文本行),功能强大
基于libevent的事件处理,无阻塞通信,对内存读写速度非常快
基于客户端的分布式,服务端多个Memcached之间不互相通信
服务端以守护进程运行,客户端可以用任何语言来编写
2. Memcached 安装
下载并安装Memcached服务器端
(1):需要安装libevent,去 http://libevent.org/ 下载 ,然后依次:
解压 tar -zxvf libevent-2.1.8-stable.tar.gz
./configure --prefix=/usr/common/libevent
make
make install
libevent是个程序库,它将Linux的epoll、BSD类操作系统的kqueue等事件
处理功能封装成统一的接口,具有很高的性能。
(2):去http://memcached.org/ 下载最新的源码包
(2.1)解压包,注意下载的是 tar.tar的包,不是tar.gz ,所以解压的时候,
去掉z,也就是tar vxf 就可以了。
(2.2)进入到解压的文件夹里面
(2.3)第一步:需要指定libevent的路径
./configure --prefix=/usr/common/memcached --with-
libevent=/usr/common/libevent/
(2.4)第二步:make
(2.5)第三步:make install
3. 启动Memcached服务端
进入目录: /usr/common/memcached/bin
(3.1) ./memcached -d -m 10 -u root -l 192.168.0.106 -p 2222 -c 256 -P /tmp/memcached.pid
-d选项是启动一个守护进程
-m是分配给Memcache使用的内存数量,单位是MB,这里是10MB
-u是运行Memcache的用户,这里是root
-l是监听的服务器IP地址,这里指定了服务器的IP地址192.168.0.106(虚拟机IP地址)
-p是监听的端口,这里设置了2222,最好是1024以上的端口
-c选项是最大运行的并发连接数,默认是1024,这里设置了256
-P是设置保存Memcache的pid文件,这里是保存在 /tmp/memcached.pid
常用的还有几个需要了解:
-f 块大小增长因子,默认是1.25
-n 最小分配空间, key+value+flags 默认是 48byte
-I 每个slab page的大小
-v/-vv 详细显示工作时各种参数
(3.2) 检查进程是否正常
ps -ef | grep memca
[root@eshop-cache04 bin]# ps -ef | grep memca
root 23113 1 0 20:03 ? 00:00:00 ./memcached -d -m 10 -u root -l 192.168.0.106 -p 2222 -c 256 -P /tmp/memcached.pid
root 23144 1686 0 20:05 pts/0 00:00:00 grep memca
(3.3) 登录
[root@eshop-cache04 bin]# telnet 192.168.0.106
Trying 192.168.0.106...
Connected to 192.168.0.106.
Escape character is '^]'.
4. 关闭Memcached
先用 ps aux|grep memcached找到进程号,然后kill掉
kill -
5. Memchaced 基本原理
8.Memcache的更多相关文章
- PHP之Memcache缓存详解
Mem:memory缩写(内存):内存缓存 1. 断电或者重启服务器内存数据即消失,即临时数据: Memcache默认端口:11211 存入方式:key=>>value ...
- 走进缓存的世界(三) - Memcache
系列文章 走进缓存的世界(一) - 开篇 走进缓存的世界(二) - 缓存设计 走进缓存的世界(三) - Memcache 简介 Memcache是一个高性能的分布式内存对象缓存系统,用于动态Web应用 ...
- 网站缓存技术总结( ehcache、memcache、redis对比)
网站技术高速发展的今天,缓存技术已经成为大型网站的一个关键技术,缓存设计好坏直接关系的一个网站访问的速度,以及购置服务器的数量,甚至影响到用户的体验. 网站缓存按照存放的地点不同,可以分为客户端缓存. ...
- MemCache超详细解读
MemCache是什么 MemCache是一个自由.源码开放.高性能.分布式的分布式内存对象缓存系统,用于动态Web应用以减轻数据库的负载.它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高 ...
- 如何在腾讯开放平台的云服务器上安装php和memcache 一
由于被通知腾讯的CEE要关闭了,必须自己切换到服务器,自己装php.烦到一个B. 首先找到官方wiki: http://wiki.qcloud.com/wiki/SUSE%E7%8E%AF%E5%A2 ...
- 搭建LNAMP环境(七)- PHP7源码安装Memcached和Memcache拓展
上一篇:搭建LNAMP环境(六)- PHP7源码安装MongoDB和MongoDB拓展 一.安装Memcached 1.yum安装libevent事件触发管理器 yum -y install libe ...
- 前端学PHP之PHP操作memcache
× 目录 [1]安装 [2]连接 [3]增删改查[4]分布式[5]状态[6]安全[7]应用 前面的话 和访问mysql服务器类似,PHP也是作为客户端API访问memcached服务器的,所以同样需要 ...
- 前端学PHP之MemCache
× 目录 [1]作用 [2]安装 [3]管理[4]命令 前面的话 Memcache是一个高性能的分布式的内存对象缓存系统,通过在内存里维护一个统一的巨大的hash表,它能够用来存储各种格式的数据,包括 ...
- Memcache缓存系统构建一
在如今这个高效率的社会中,怎样将这个高效率应用到自己的程序中,是一个值得追寻和值得探讨的问题.因为这个memcache能够很好的提高检索速度,提升用户体验,而且重要的是减少数据库的访问.这就大大的提高 ...
- PHP实现查询Memcache内存中的所有键与值
使用Memcache时,我们可以用memcache提供的get方法,通过键查询到当前的数据,但是有时候需要查询内存中所有的键和值,这个时候可以使用下面的代码实现: <?php /** * Cre ...
随机推荐
- 吴裕雄 python 人工智能——智能医疗系统后台用户注册、登录和初诊简约版代码展示
#用户注册.登录模块 #数据库脚本 CREATE TABLE usertable( userid number(8) primary key not null , username varchar(5 ...
- java 工程idea 添加依赖几种方式:
1.add jar and dependecy derictory: 2.add Libary: 点击new library 选取java: 选择libs文件夹作为library: 选择 maven ...
- Git 安装配置及工作流程
在使用Git前我们需要先安装 Git.Git 目前支持 Linux/Unix.Solaris.Mac和 Windows 平台上运行. Git 各平台安装包下载地址为:http://git-scm.co ...
- 「JSOI2012」玄武密码
「JSOI2012」玄武密码 传送门 题目是要求多个串在母串上的最长匹配长度. 考虑 \(\text{AC}\) 自动机,我们建出 \(\text{Trie}\) 图然后用母串来在上面跑. 每一个能匹 ...
- C++的new&delete
new的过程 new的过程:先分配memory,再调用ctor 我们常用的创建对象的方法有两种 Complex c(1,2); //栈 Complex *pc = new Complex(1,2); ...
- Java入门笔记 05-多线程
介绍:Java提供了非常优秀的多线程支持,程序可以通过非常简单的方式来启动多线程.本章主要内容为:多线程的创建.启动.控制以及同步操作,并介绍JDK 5新增的线程创建方式. 一.线程的创建与使用: 1 ...
- Python中的浅复制、深复制
参考 https://docs.python.org/3/library/copy.html?highlight=copy%20copy#copy.copy https://en.wikipedia. ...
- openjudge(POJ)-1664 放苹果
对于n个盘子,m个苹果,我们要么在每个盘子上都放苹果,要么至少有一个盘子不放. 一个盘子不放就是f(m,n-1),全部都放的时候苹果就变成了n-m个,但是盘子的数目是不变的,因为此时还没有产生方案数, ...
- java里判断字符串是否为数字类型的方法
String type = "数字类型";if(StringUtils.isNotBlank(value)){ //区分正负数 if(value.startsWith(" ...
- rtt之通用bootloader
目前只支持F1/F4;使用步骤 1 在官网注册产品,根据系列设定参数,接收邮箱,点击生成就可以在自己的邮箱中收到对应的bootloader.bin文件.用jlink就可以将其烧写进单片机. 2 存储被 ...