我的主要兴趣在于可以使用这些工具来调整现有的基于事务RDBS的应用程序的用例。
是否有涉及这些工具的常见设计模式的良好来源?
经过一些研究后,我发现以下示例用例用于 Redis ,在SQL数据存储上实现更加困难(肯定更慢):
供稿或类似尾巴的逻辑(上一篇文章显示在顶部)
感谢Redis的列表管理功能:
LPUSH post:<id>:comments <comment> //posts comment
LRANGE post:<id>:comments 0 9 // instantly gets last 10 comments
代码管理
利用Redis的集管理功能(并设置intersaction),可以轻松实现标签系统
在高并发大批量服务上获得分数 Redis可以在 O(log(N))中插入分数(即足够快),然后使用有序集来检索SQL中需要的分数板
SELECT * FROM table
ORDER BY score LIMIT 0 10
答案 0 :(得分:1)
Redis和Memcached是内存数据存储。主要区别在于Memcached不是持久的(当服务器重新启动时内容被刷新)而Redis是。此外,Redis还支持多种数据结构,例如Sets。
内存数据存储的最常见用例是缓存。 Memcached几年来一直是最受欢迎的选择。 Redis可以使用属性配置解决几乎所有Memcached任务。
因为Memcached不是持久的,所以不能信任它来存储持久数据。这就是为什么它的最佳用法是缓存存储。
毕竟,Redis是一个数据库。这意味着缓存只是其应用程序之一。一般来说,只要你需要一个非常快速的数据存储,Redis是一个非常好的选择。用户案例包括日志记录,队列系统,索引。一些例子:
答案 1 :(得分:0)
我想说这些“在内存”数据库(就RDBMS性能调整而言)的主要用途是用于缓存目的,即使这个网站是using Redis for caching。您可以找到有关StackOverflow如何使用它的一些信息here。