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学习(一)的更多相关文章

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

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

  2. memcached学习笔记——存储命令源码分析下篇

    上一篇回顾:<memcached学习笔记——存储命令源码分析上篇>通过分析memcached的存储命令源码的过程,了解了memcached如何解析文本命令和mencached的内存管理机制 ...

  3. memcached学习笔记——存储命令源码分析上篇

    原创文章,转载请标明,谢谢. 上一篇分析过memcached的连接模型,了解memcached是如何高效处理客户端连接,这一篇分析memcached源码中的process_update_command ...

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

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

  5. Memcached学习笔记

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

  6. 分布式缓存技术memcached学习(二)——memcached基础命令

    上文<linux环境下编译memcahed>介绍了memcahed在linux环境下的安装以及登录,下面介绍memcahed的基本命令的使用. Add 功能:往内存增加一条新的缓存记录 语 ...

  7. 应用程序Cache对象到高性能Memcached学习之路

    来源:微信公众号CodeL 以下是个人学习之路的简单分享,不足之处欢迎大神们批评指正! 在网站开发的初期,我们没有考虑更多的东西,也没有对缓存进行系统的设计,而是直接使用了应用程序缓存对象Cache, ...

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

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

  9. 分布式缓存技术memcached学习系列(二)——memcached基础命令

    上文<linux环境下编译memcahed>介绍了memcahed在linux环境下的安装以及登录,下面介绍memcahed的基本命令的使用. Add 功能:往内存增加一条新的缓存记录 语 ...

  10. 分布式缓存技术memcached学习(五)—— memcached java客户端的使用

    Memcached的客户端简介 我们已经知道,memcached是一套分布式的缓存系统,memcached的服务端只是缓存数据的地方,并不能实现分布式,而memcached的客户端才是实现分布式的地方 ...

随机推荐

  1. 前端响应式设计中@media等的相关运用

    现在做前端响应式网站特别,响应式成为现在前端设计一个热点,它成为热点的最主要的原因就是,移动端设备屏幕的种类多样,那么如何设置响应式屏幕. /*打印样式*/ @mediaprint{color:red ...

  2. Hadoop之父Doug Cutting

    生活中,可能所有人都间接用过他的作品,他是Lucene.Nutch .Hadoop等项目的发起人.是他,把高深莫测的搜索技术形成产品,贡献给普罗大众:还是他,打造了目前在云计算和大数据领域里如日中天的 ...

  3. 深入探讨this指针

    深入探讨this指针   为了写这篇文章,准备了好长时间,翻遍了箱底的书籍.可是如今还是不敢放开手来写,战战兢兢.不是操心自己写错,而是唯恐自己错误误导别人.同一时候也希望这篇文章能给你一点收获.既然 ...

  4. Demo Swig

    演示使用swig工具创建c语言的java接口,生成.so库和java接口文件. 在此之前先要安装swig,安装方法:sudo apt-get install swig 1.使用eclipse创建工程. ...

  5. PhoneGap开发手机程序入门教程

    用PhoneGap开发手机移动程序 1.     什么是PhoneGap PhoneGap是一个自由开放源码的开发工具和框架,允许利用HTML + JavaScript + CSS的强大功能在多个手机 ...

  6. 在一个文件中有10G个整数,乱序排列,要求找出中位数

     题目:在一个文件中有 10G 个整数,乱序排列,要求找出中位数.内存限制为 2G.只写出思路即可(内存限制为 2G的意思就是,可以使用2G的空间来运行程序,而不考虑这台机器上的其他软件的占用内存). ...

  7. Lua调用自定义C++类

    弄了一天终于会Lua调用自定义C++类.不容易啊. 我的电脑是64位的,装了64的Python不行,装了32位的就可以了,靠!下面是报错信息 python pyyaml Cheetah全都是装32位的 ...

  8. Android(java)学习笔记103:Map集合的获取功能

    package cn.itcast_01; import java.util.Collection; import java.util.HashMap; import java.util.Map; i ...

  9. MYSQL基础笔记(一)

    关系型数据库概念: 1.什么是关系型数据库? 关系型数据库:是一种建立在关系模型(数学模型)上的数据库 关系模型:一种所谓建立在关系上的模型. 关系模型包含三个方面: 1.数据结构:数据存储的问题,二 ...

  10. python(3)-内置函数2

    frozenset()    定义一个不能添加修改的集合 >>> s = frozenset() >>> s.add("aaa") Traceb ...