我还没有使用过Redis,但我听说过它并计划尝试使用它来缓存数据。
我听说Redis使用内存作为缓存存储数据库。既然我可以使用对象或字典来存储数据,那么 Redis 的意义何在?像这样:
var cache = {
key: {
},
key: {
}
...
}
使用Redis有什么优点?
Redis 是一个remote数据结构服务器。它肯定比仅将数据存储在本地内存中慢(因为它涉及套接字往返来获取/存储数据)。然而,它也带来了一些有趣的特性:
Redis 可以被应用程序的所有进程访问,可能运行在多个节点上(本地内存无法实现)。
Redis 内存存储非常高效,并且是在单独的进程中完成的。如果应用程序在内存被垃圾收集的平台上运行(node.js、java 等),则它允许处理更大的内存缓存/存储。实际上,非常大的堆在垃圾收集语言中表现不佳。
如果需要,Redis 可以将数据保存在磁盘上。
Redis 不仅仅是一个简单的缓存:它提供各种数据结构、各种项目驱逐策略、阻塞队列、发布/订阅、原子性、Lua 脚本等......
Redis 可以通过主/从机制复制其活动,以实现高可用性。
基本上,如果您需要应用程序在共享相同数据的多个节点上进行扩展,那么将需要 Redis(或任何其他远程键/值存储)之类的东西。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)