redis的键值设计应该是决定了它作为缓存层的必要条件。关系型数据库在于应用程序交互时,发现大量的请求查询使得关系型数据库变慢了。而如果将要取的数据存放在内存中,而且使用key-map储存,这样减少了IO的,使得数据的读取变得更加快速。可参考memcache。
redis就是典型的缓存数据库(内存数据库),它将键值存于内存中,数据的读写是全内存操作。而且redis能够储存的value类型多,而且也可以很大。不过redis也可以作为持久化的数据库。通过将内存中的键值存储在硬盘中,可以使得数据持久化。
redis还可以作为消息队列,但是redis是单进程的服务。
问题:
redis为什么是单进程?
redis的主从中断,一般从哪些方面去处理。
与mongo的比较。