Memcached学习(一)
1.Memcached是什么?
引用维基百科上得简介,Memcached 是一套分布式的高速缓存系统,由LiveJournal的Brad Fitzpatrick开发,目前已被诸如Facebook等许多网站使用。这是一套开放源代码软件,以BSD license授权发布。常用于Web应用系统中,许多Web应用都将数据保存在RDBMS中,应用服务器从数据库中读取数据并在浏览器显示,但随着数据量的增大、访问的集中,就会出现RDBMS负担过重、数据库影响恶化、网站显示延迟等重大影响。这时候就是Memcached起作用的时候了,Memcached是高性能的分布式缓冲服务器(其实memcache自身并没有分布式功能,是通过Memcached的客户端实现),memcached使用的最主要的目的就是通过缓存数据库查询结果,减少应用服务器访问数据库的次数,提高Web应用的响应速度、提高可扩展性。
当然了,Memcached并不是只能用于Web应用,只要你的业务系统需要经常访问数据库,那也可以使用它,我之前就看过有家公司,将Memcached用作他们系统数据交换的中心枢纽即所有收到的新数据都往Memcached里扔,其他系统获取数据,都从Memcached里进行读取,当然感觉这个有点用不太合适。
2.Memcached特点:
- 协议简单
Memcached服务与各客户端间的通讯并不适用复杂的XML等格式,而使用简单的基于文本行的协议。因此通过telnet也能再Memcached上进行数据的设置、读取
- 基于libevent的事件处理(个人才疏学浅不了解)
想了解的可以Google。
- 内置内存的存储方式
为了提高性能,Memcached中所有保存的数据读是基于内存中的,因此在重启Memcached或操作系统时,Memcached中所有的数据都会丢失。另外在Memcached
所存储的内容达到设定最大值时,就会基于LRU(Least Recently Used)算法删除不适用的缓存。如果你对数据持久性有要求的话,可以考虑Redis。
- Memcached间不互相通讯
就向上文中我所提到的,虽然号称是分布式缓存服务,但其实它所谓的分布式功能是通过客户端来实现的,本身Memcached服务并不具备这个功能,因此各个Memcached
服务间是相对独立的,它们之间没有任何通讯。
3.Memcached的安装与启动
安装就不多说了,可参照Memcached提供的相关安装说明进行操作,还是比较简单的,我在Ubuntu下也就一个命令安装完毕了。
至于启动,我在Ubuntu上安装完后,已经自动启动了。正常启动命令是:memcached -p 11211 -m 64m -d,这几个参数的意思如下:
p 使用的 TCP 端口。默认为 11211
m 最大内存大小。默认为 64M
d 作为 daemon 在后台启动
还有其他更多参数,可以通过memcached -h 命令查阅。
Memcached学习(一)的更多相关文章
- memcached 学习 1—— memcached+spring配置
memcached 学习目录: memcached 学习 1—— memcached+spring配置 这几天自己搭建项目环境,解决问题如下: 有关常见的配置这里没有列出,中间遇到的搭建问题比较顺利g ...
- memcached学习笔记——存储命令源码分析下篇
上一篇回顾:<memcached学习笔记——存储命令源码分析上篇>通过分析memcached的存储命令源码的过程,了解了memcached如何解析文本命令和mencached的内存管理机制 ...
- memcached学习笔记——存储命令源码分析上篇
原创文章,转载请标明,谢谢. 上一篇分析过memcached的连接模型,了解memcached是如何高效处理客户端连接,这一篇分析memcached源码中的process_update_command ...
- Memcached 学习笔记(二)——ruby调用
Memcached 学习笔记(二)——ruby调用 上一节我们讲述了怎样安装memcached及memcached常用命令.这一节我们将通过ruby来调用memcached相关操作. 第一步,安装ru ...
- Memcached学习笔记
[TOC] 前言 此为学习笔记汇总,如有纰漏之处,还望不吝指出,谢谢. 启动流程 调用settings_init()设定初始化参数 从启动命令中读取参数来设置setting值 设定LIMIT参数 开始 ...
- 分布式缓存技术memcached学习(二)——memcached基础命令
上文<linux环境下编译memcahed>介绍了memcahed在linux环境下的安装以及登录,下面介绍memcahed的基本命令的使用. Add 功能:往内存增加一条新的缓存记录 语 ...
- 应用程序Cache对象到高性能Memcached学习之路
来源:微信公众号CodeL 以下是个人学习之路的简单分享,不足之处欢迎大神们批评指正! 在网站开发的初期,我们没有考虑更多的东西,也没有对缓存进行系统的设计,而是直接使用了应用程序缓存对象Cache, ...
- memcached学习笔记2--安装及命令
学习memcached的原理: 用户一 -> 访问浏览器 -> 服务器Apache -> PHP文件(该文件应用了memcached技术) -> [第一次]到数据库DB中查找数 ...
- 分布式缓存技术memcached学习系列(二)——memcached基础命令
上文<linux环境下编译memcahed>介绍了memcahed在linux环境下的安装以及登录,下面介绍memcahed的基本命令的使用. Add 功能:往内存增加一条新的缓存记录 语 ...
- 分布式缓存技术memcached学习(五)—— memcached java客户端的使用
Memcached的客户端简介 我们已经知道,memcached是一套分布式的缓存系统,memcached的服务端只是缓存数据的地方,并不能实现分布式,而memcached的客户端才是实现分布式的地方 ...
随机推荐
- 为什么 JavaScript 中基本数据类型拥有 toString 之类方法?
在 JavaSctipt 启示录一书中,关于为什么 JS 中基本数据类型可以调用一堆对象方法.大意即指,当原始数据类型(boolean,Number.String)在调用方法时,JS 将会创建对象,以 ...
- Rstudio编辑界面美化设置
美化Rstudio的编辑界面有利于我们输入代码,合适的调整更是减少错误. 可以根据自己的喜好和习惯选择.
- Oracle数据库如何授权收费(Database Licensing)
Oracle软件本身是免费的,所以任何人都可以从Oracle官方网站下载并安装Oracle的数据库软件,收费的是License,即软件授权,如果数据库用于商业用途,就需要购买相应Oracle产品的Li ...
- 【转】windows上安装gvim
gvim安装包下载: 简明安装说明:1.安装 gvim 安装包中的程序.2.安装 第三方软件安装包中的程序,将 dll 文件放入 system32目录.3.将 bin 目录加入 PATH 环境 ...
- Codeforces Round #332 (Div. 2) D. Spongebob and Squares 数学题枚举
D. Spongebob and Squares Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/contest/ ...
- 线性求中位数 poj2388
在做uva11300时,遇到了n < 1000 000的中位数,就看了一下线性求中位数. 该算法的最差时间复杂度为O(N^2),期望时间复杂度为O(N),证明推理详见算法导论P110. 和快排的 ...
- Keeplived 配制图解
http://blog.csdn.net/tantexian/article/details/50056229
- 假设用一个名为text的字符串向量存放文本文件的数据,其中的元素或者是一句话或者是一个用于表示段分隔的空字符串。将text中第一段全改为大写形式
#include<iostream> #include<string> #include<vector> using namespace std; int main ...
- Sublime Text 3 常用快捷键总结
1.快速跳转到某一行:Ctrl+G,输入行号,可以快速跳转到该行 2.快速查找:Ctrl+P 输入"@函数名"可以快速查找到函数 输入"#+文本" 3.多行游标 ...
- php引入公用部分html出现了一行空白(原创)
在导入公用部分html(客服信息)时,莫名其妙出现了一行空白,样式,html均无问题 后来才发现是html多了一行空白 <div class="ad-module-item3 fn-m ...