【摘要】:分布式内存对象缓存系统memcached[12]把所有数据都保存在内存中,这样保存和读取的速度非常快,但是当memcached停止运行的时候,数据就不存在了。这里的键值存储不像memcached那样在内存中保存数据,而是把数据保存在硬盘上。与memcached在内存中处理数据相比,由于必然会发生对硬盘的I/O操作,所以性能上还是有差距的。但数据不会丢失是它最大的优势。这种类型的数据库特别适合于处理数组类型的数据。
这是最常见的NoSQL数据库,它的数据是以键/值偶对的形式存储的。虽然它的处理速度非常快,但是只有通过键的完全一致查询才能获取数据。根据数据的保存方式,可以分为临时性、永久性和两者兼具三种。
1.临时性
临时性就是“数据有可能丢失”的意思。分布式内存对象缓存系统memcached[12]把所有数据都保存在内存中,这样保存和读取的速度非常快,但是当memcached停止运行的时候,数据就不存在了。由于数据保存在内存中,所以无法操作超出内存容量的数据(旧数据会丢失)。简言之,其特点主要包括以下几方面。
●在内存中保存数据。
●可以进行非常快速的保存和读取操作。
●数据有可能丢失。
2.永久性
与临时性相反,永久性就是“数据不会丢失”的意思。这里的键值存储不像memcached那样在内存中保存数据,而是把数据保存在硬盘上。与memcached在内存中处理数据相比,由于必然会发生对硬盘的I/O操作,所以性能上还是有差距的。但数据不会丢失是它最大的优势。简言之,其特点主要包括以下几方面。
●在硬盘上保存数据。(www.chuimin.cn)
●可以进行非常快速的保存和读取处理(但无法与memcached相比)。
●数据不会丢失。
3.两者兼具
Redis[13]兼具临时性和永久性。Redis首先把数据保存到内存中,在满足特定条件(默认是15分钟内1个以上,5分钟内10个以上,1分钟内10000个以上的键发生变更)的时候将数据写入硬盘中。这样既确保了内存中数据的处理速度,又可以通过写入硬盘来保证数据的永久性。这种类型的数据库特别适合于处理数组类型的数据。简言之,其特点主要包括以下几方面。
●同时在内存和硬盘上保存数据。
●可以进行非常快速的保存和读取处理。
●保存在硬盘上的数据不会消失(可以恢复)。
●适合处理数组类型的数据。
相关推荐