.net 数据缓存(一)之介绍

如今的业务系统越来复杂,大型门户网站内容愈来愈多,数据库的数据量也越来愈大,因此有了“大数据”这一律念的出现。可是咱们都知道当数据库的数据量和访问过于频繁都会影响系统总体性能体验,特别是并发量高的系统。为此,咱们经过数据缓存来,减轻数据库的压力。为此,随着时间的步伐,各式各样的缓存技术的出现,让咱们对于这些技术有些眼花缭乱。不是说功能最全的最早进,就是适合本身。咱们要看看本身系统的定位去评估本身的系统适合使用哪一种缓存机制。固然,也能够经过定义缓存接口,之后方便缓存机制的替换。下面咱们来了解下缓存的概念、分类及发展趋势。redis

1、 概念
a、定义

数据缓存就是将数据暂存于内存缓存区中的一种技术。数据库

b、目的

一般状况下,大量数据是保存在数据库中的,而应用程序访问数据库是一项很费时的操做。若是先将数据库中的数据缓存到缓存区中,当应用程序须要这些数据时,直接从缓存区中提取,就能够减小系统开销。缓存

c、 类别

本地缓存 > 集群缓存 > 分布式缓存(数据网格)服务器

参考:http://in.relation.to/2012/11/08/data-grid-why/
2、 缓存类别的对比
缓存类别 本地缓存 集群缓存 分布式缓存
存储位置 应用服务器内存 网络服务器内存 网络服务器内存
优势 访问很是快 每一台服务器都包括全部的缓存 数据缓存分布,当缓存增移更,只须要对单台服务器操做
缺点 内存有限,不易扩展 对缓存增移更操做,须要对全部服务器访问 当一某台服务器(服务器集群)宕机或者网络异常没法访问时,则该服务器的缓存也没法访问了。
适合系统级别 并发量小(<10),数据量不大(单表数据<10万)。 业务单一,并发量大,数据量大(千人用户,并发量在200左右)。 业务量复杂,并发量巨大。
3、 分布式缓存框架对比
名称 Couchbase Memcached Redis
描述 基于CouchDB使用了JSON做为其文档格式,并兼容Memcached的接口 在内存中实现键值对存储方式,最初设计便是实现缓存 在内存中实现键值对存储方式,用于数据库、缓存和消息代理(由于Redis很是注重性能,因此大部分设计要求高性能和低延迟)
数据模型 文档数据(键值对) 键值对 键值对(多个数据类型和一组丰富的操做,以及可配置的数据过时、驱逐和持久性)
官方网站 www.couchbase.com www.memcached.org redis.io
首次发行 2011 2003 2009
现行版本 3.0.3, 2015年3月 1.4.24, 2015年4月 3.0.3, 2015年6月
许可协议 开源(Apache version 2) 开源(BSD license) 开源(BSD 3-Clause, commercial license available)
趋势图
参考:db-engines.com/en/
总结:缓存的发展,实际上是前一种类型进化的产物,因此能够兼容前一种类型。哪种方案最优,最易,要看架构设计要求了。不须要简单的事情复杂化。可是为了讲解缓存,我只会讲解Redis。由于他是目前使用率最高的分布式缓存。后面我会讲一讲如何使用Redis。
相关文章
相关标签/搜索