zoukankan      html  css  js  c++  java
  • 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 命令查阅。

  • 相关阅读:
    PC客户端抓包方法(charles+proxifier)
    Charles分享
    python_fullstack数据库(一)-HTML
    python_fullstack数据库(三)-MySQL表操作
    python_fullstack数据库(二)-MySQL库操作
    python_fullstack数据库(一)-MySQL基本概念
    python_fullstack基础(十八)-并发编程
    python_fullstack基础(十七)-网络编程
    python_fullstack基础(十五)-面向对象三大特性
    python_fullstack基础(十四)-面向对象初识
  • 原文地址:https://www.cnblogs.com/jadic/p/3603340.html
Copyright © 2011-2022 走看看