一、传统的数据库中心化设计

      传统的系统架构设计中,以存放在数据库中的数据为中心,为多种应用提供数据服务支持的设计称之为数据库中心化设计。

二、压力的变化

     对于数据的需求经历了多层分离之后会带来了更多的压力,结果是不堪重负的io。

三、内存中心化设计

     1.内存中心化设计是一种近来十分流行的架构设计思想,用于解决web2.0时代数据大量读写带来的性能压力

     2.实现思路

        a.增加缓冲层,利用内存的高io性能

        b.将大量的实时数据以key-value的形式在内存中处理

        c.通过预读和合并写入等技术减少后端数据库的I/O压力

四、key-value数据库简介

      memcached与redis

     1.什么是memcached?

        memcached是一个高性能的分布式内存对象缓存系统,用于动态web应用以减轻数据库负载,他通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态、数据库驱动网站的速度。memcached基于一个存储键值对的hashmap。守护进程(daemon)使用c写的,但是客户端可以用任何语言来编写,并通过memcached协议与守护进程通信

     2.memcached语法

        memcached的服务器客户端通信并不使用复杂的xml等格式,而使用简单的基于文本的协议,因此,通过telnet也能在memcached上保存数据、获取数据

        telnet localhost 11211
        set foo 0 0 3(保存命令)
        bar(数据)
        stored(结果)
        get foo(取得命令)
        value foo 0 3(数据)
        bar(数据)

    3.mysql-memcached的实现

      1.通常,mysql与memcached之间是没有直接联系的,如何使用这些组件完全由应用程序或中间件来决定
      2.mysql5.6中加入了一个全新的memcached插件,通过该插件可以非常方便的实现memcached与mysql的组合,使得我们可以通过
         memcached语法操作mysql数据库,也可以使用sql语法操作memcached,实现了mysql对于nosql的支持

      

memcached介绍_数据