我一直在阅读一些Redis文档,并在http://try.redis-db.com/上尝试教程。到目前为止,我看不出Redis和Velocity或企业库缓存框架等缓存技术有什么不同
实际上,您只是使用唯一键将对象添加到内存中的数据存储中。似乎没有任何关系语义……
我错过了什么?
我一直在阅读一些Redis文档,并在http://try.redis-db.com/上尝试教程。到目前为止,我看不出Redis和Velocity或企业库缓存框架等缓存技术有什么不同
实际上,您只是使用唯一键将对象添加到内存中的数据存储中。似乎没有任何关系语义……
我错过了什么?
当前回答
除了作为缓存服务器,Redis还是一个具体的数据结构服务器。 作为数据结构服务器形式的缓存意义重大,因为数据结构是程序或应用程序的基础。考虑到您正在使用SQL数据库作为存储技术,并需要构造一个列表,一个哈希映射,一个排名集或类似的东西,这是一种痛苦的脖子。Redis可以直接以非常简单的方式为您提供这些功能,从而极大地简化了开发。
另一方面,数据结构服务器不必采用缓存的形式。有些项目与Redis兼容,但有持久的存储引擎。
其他回答
实际上,相对数据表示(或任何类型的数据表示)和数据库角色(缓存、永久持久化等)之间没有依赖关系。
Redis很适合缓存,这是事实,但它不仅仅是一个缓存。它是高速全内存数据库。它确实在磁盘上持久化数据。它不是关系型的,而是键值存储。
我们在生产中使用它。Redis帮助我们构建每秒处理数千个请求的软件,并在整个自然生命周期内保存客户业务数据。
Redis是一个最适合分布式环境/微服务架构的缓存。
它快速,可靠,提供原子性和一致性,并具有一系列数据类型,如集,散列,列表等。
我从去年开始使用它,它真的是一个救世主,当你需要非常快速地提供一个生产就绪的解决方案时,对于任何与性能相关的问题,你总是可以使用它来缓存数据。
除了到目前为止所作的回答之外,再来总结一下
Redis是一个非常快速的非关系数据库,它存储了键到五种不同类型值的映射(字符串、散列、列表、集、排序集、位图和超对数)。@Sripathi Krishnan回答说。 Redis支持在磁盘上的内存持久存储 复制以扩展读性能 客户端分片以扩展写性能
如果你想获得更多关于Redis的细节和深度信息,你可以看看Redis In Action和Redis Essentials的书。
Redis的用法:
具有多种数据结构的缓存,如:字符串,set, zset,列表,散列和位图(可以在许多聚合用例中使用) KV DB。Reids内存中的数据可以存储在磁盘上:RDB和AOF可以获取快照和编辑日志。 消息队列。但是一条消息只能被一个消费者使用 Pubsub 分布式锁。依赖于setnx命令,只有成功执行该命令的第一个线程才能持有锁。https://redis.io/commands/setnx
不仅仅是一个缓存。
在内存中键值存储 支持多种数据类型(字符串、散列、列表、集、排序集、位图和超日志) 它提供了将缓存数据存储到物理存储中的能力(如果需要的话)。 支持发布-订阅模式 Redis缓存提供高可用性复制(主/从)