tel15319111069

当前位置:首页 > 技术体系 >
缓存架构
       通常情况下,大量数据是保存在数据库中的,而应用程序访问数据库是一项很费时的操作。如果先将数据库中的数据缓存到缓存区中,当应用程序需要这些数据的时候,直接存缓存中提取,就可以减少系统开销,大大提高了数据访问的速度。同时,在ASP.NET中,通过类SQLCacheDependency建立起与新一代数据库的SQL缓存依赖关系,这种关系可以使得数据库能够自动监视数据表的状况,一旦数据表发生变化,立即启动数据库本身的触发器将相应的缓存区中的数据变为无效,这样就确保了缓存区中的数据和数据库中的数据是适时匹配的。
 
  Redis是一个开源(BSD许可的)的使用ANSIC语言编写的、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库。它可以用作数据库、缓存和消息中间件,它支持多种类型的数据结构,如字符串(strings)、散列(hashes)、列表(lists)、集合(sets)、有序集合(sortedsets)与范围查询等。这些数据都支持Push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的。在此基础上,redis支持各种不同方式的排序。与memcached一样,为了保证效率,数据都是缓存在内存中。区别的是redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并且在此基础上实现了master-slave(主从)同步。数据可以从主服务器向任意数量的从服务器上同步,从服务器可以是关联其他从服务器的主服务器。这使得Redis可执行单层树复制。存盘可以有意无意的对数据进行写操作。由于完全实现了发布/订阅机制,使得从数据库在任何地方同步树时,可订阅一个频道并接收主服务器完整的消息发布记录。同步对读取操作的可扩展性和数据冗余很有帮助。


15319111069

E-MALL:yxzx@huachunnet.com

地址:西安市南二环西段21号华融国际商务大厦A座22楼D区