引子:
在大数据时代,总希望存在一个Key-value存储机制,像HashMap一样在内存中处理大量(千万数量级)的key-value对,以便提高数据查找、修改速度。
所以,我们会想到,Memcached和Redis这两个NoSQL数据库(严格来讲二者都不可以算作数据库)。
1、Memcached是一个cache机制,当内存不足时会采用LRU机制,替换出陈旧数据,因此他不能保证我们的数据像在HashMap中一样不丢失,且没有数据持久化机制;
2、Redis克服了这一缺点,采取磁盘存储机制实现数据持久化。但是,当数据量达到1千万左右时,由于内存中不能存储如此大量数目的数据,频繁同磁盘进行数据交换,导致数据查询、存储性能的急剧下降,将导致服务不可用。
结论:当前还没有好的产品可以实现key-value保证数据完整性,千万级条数量级的,高效存储和查询支持产品。
附录一:如下是转自其它网友的测试数据:
附录二:memcached 和redis的比较,和各自用途
附录一: