• Redis,MemCached,MongoDB 概述


    调研项目主要有Redis、 MemCached、 MongoDB,以及Amazon的DynamoDB

    Redis 是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。目前由VMware主持开发工作。

    1)  数据模型 作为Key-value型数据库,Redis也提供了键(Key)和值(Value)的映射关系。除了常规的数值或字符串,Redis的键值还可以是以下形式之一: Lists (列表) Sets (集合) Sorted sets (有序集合) Hashes (哈希表) 键值的数据类型决定了该键值支持的操作。Redis支持诸如列表、集合或有序集合的交集、并集、差集等高级原子操作;同时,如果键值的类型是普通数字,Redis则提供自增等原子操作。

    2) 持久化:

    Redis通常将数据存储于内存中,或被配置为使用虚拟内存。

    通过两种方式可以实现数据持久化:使用快照的方式,将内存中的数据不断写入磁盘;或使用类似MySQL的日志方式,记录每次更新的日志。前者性能较高,但是可能会引起一定程度的数据丢失;后者相反。

    3) 性能同步:

    Redis支持将数据同步到多台从库上,这种特性对提高读取性能非常有益。相比需要依赖磁盘记录每个更新的数据库,基于内存的特性无疑给Redis带来了非常优秀的性能,读写操作之间有显著的性能差异。

    4) API 语言

    支持C、 C++、 C#、 Java、 Javascript、 Lua、 Objective-C、 Perl、 PHP、 Python、 Ruby、 Go等语言,更多请见:Redis 官网

    -------------------------------------------------------

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

    1) 事件处理

    memcached使用libevent库,能在Linux、BSD、Solaris等操作系统上发挥其高性能。libevent是个程序库,它将Linux的epoll、BSD类操作系统的kqueue等事件处理功能封装成统一的接口。

    2)数据存储

    为了提高性能,memcached中保存的数据都存储在memcached内置的内存存储空间中。由于数据仅存在于内存中,因此重启memcached、重启操作系统会导致全部数据消失。另外,内容容量达到指定值之后,就基于LRU(Least Recently Used,最近最少使用)算法自动删除不使用的缓存。memcached本身是为缓存而设计的服务器,因此并没有过多考虑数据的永久性问题。

    3) API语言

    支持 C、C#、 C++、 Java、Perl、 PHP、 Python、 Ruby、 Lua等语言,更多请见: Memcached Clients

    --------------------------------------------------------

     

    MongoDB 是一个基于分布式文件存储的数据库,由C++语言编写,旨在为WEB应用提供可扩展的高性能数据存储解决方案。

    MongoDB服务端可运行在Linux、Windows或IOS平台,支持32位和64位应用,默认端口为27017。推荐运行在64位平台,因为MongoDB在32位模式运行时支持的最大文件尺寸为2GB,64位平台则非常大。

    MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库中功能最丰富,最像关系数据库的。他支持的数据结构非常松散,是类似json的bson格式,因此可以存储比较复杂的数据类型。Mongo最大的特点是他支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。

    1) 特点:高性能、易部署、易使用,存储数据非常方便

    2) 功能:面向集合存储,易存储对象类型的数据;支持动态查询,支持完全索引,包含内部对象;支持复制和故障恢复;使用高效的二进制数据存储,包括大型对象(如视频等);自动处理碎片,以支持云计算层次的扩展性

    3) 格式:文件存储格式为BSON(一种JSON的扩展);可通过网络访问

    4) API语言:C、C#、 C++、Java、JavaScript、 PHP、Ruby、Python、Perl等,更多请见: MongoDB Home 来自:http://blog.csdn.net/sunboy_2050/article/details/8552155

  • 相关阅读:
    锤子科技官网:问题整理及注意事项
    springboot中文文档
    Spring Framework 开发参考手册中文(在线HTML)
    .is() 全选复选的判断
    c:forEach用法
    SSM框架——详细整合教程(Spring+SpringMVC+MyBatis)
    火狐浏览器下载文件保存文件名的乱码问题
    多线程安全的解决方法
    MySQL的concat以及group_concat的用法
    mysql 将时间转换成时间戳
  • 原文地址:https://www.cnblogs.com/zsmynl/p/3539018.html
Copyright © 2020-2023  润新知