Memcached简介

mcached 是一个高性能的分布式内存 对象缓存系统,用于动态Web应用以减轻数据库 负载。它通过在内存 中缓存数据和对象来减少读取数据库 的次数,从而提供动态、数据库驱动网站的速度。Memcached基于一个存储键/值对的hashmap。其守护进程 (daemon )是用C写的,但是客户端 可以用任何语言来编写,并通过memcached协议与守护进程通信。
 Memcached 是由Danga Interactive公司开发的开源软件,属于临时性键值存储类的NOSQL数据库(官网:www.memcached.org).
 
 1.优缺点:
    临时性键值存储类的NOSQL数据库特点在于将数据库直接存储在内存中,速度上可提升10至100万倍(内存与硬盘保存速度差)!同理,因其临时性,同样存在缺点一但Memcached关闭后数据容易丢失。
  2.Nosql介绍
    传统的关系型数据库缺点在于“大量数据的写入、更新”,“字段不固定时,修改表结构麻烦”,在此基础上提出NOSQL数据库,目前统计已有的NOSQL数据已达133种之后,主要为为三类:
    2.1键值存储型:
         2.1.1  临时键值存储:memcached、Redis
         2.1.2  永久键值存储:Flare、Tokyo Tyrant、 Roma、Redis(两种都支持)
    2.2面向文档的数据库
        MongoDB、CouchDB,此类的特点在于不定义表结构、可能通过复杂的查询条件检索数据。
    2.3面向列的数据库
        Hbase 、Cassandra、HyperTable等,此类的特点在于高拓展性,特别是针对大量数据的写入操作
  3.特点:
    3.1 数据结构:Memcached是通过散列表(关联数组)来存储各类格式的键值存储,所有的数据都被保存在内存中。
    3.2 通信方式:使用简单的文本协议进行通信,数据操作也只是类似保存和删除与键对应的值这样的简单操作。
    3.3 数据的存储方式:
        因其使用了文本协议通信,要完成这样的处理就要将数据转化成序列化的字节(Byte)数组。在保存时序列化,读取是反序列化。
    3.4 优势
        3.4.1高速
        3.4.2 易学易用:使用散列表存储,用过Java中Map的基本马上掌握。
        3.4.3 技术相对成熟:经过几年的应用,资料齐全。
        3.4.5 一致性散列:这个方式在多台服务器的情况下,首先对各服务器对应的散列值进行计算,把它们配置在一个圆周上,同时对各数据的对应的KEY的散列进行计算,键列值出发沿圆周向右,由距离该散列最近的服务器负责处置这条数据。适用分布式应用。
    3.5 不足
        3.5.1 数据临时性,关闭后数据丢失。
        3.5.2 只能通过指定键读取数据,无法使用LIke模糊查询,如查询key为"dingzeqi"的数据时,只能完全匹配“dingzeqi”时才能取出数据。
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值