Redis是一种数据库,这意味着我们可以将其用于持久化任何类型的应用程序信息,例如用户帐户、博客文章、评论等等。存储信息后,我们可以通过编写查询语句稍后检索它。
现在,这种行为与几乎所有其他数据库类似,但是有什么区别?或者说,为什么我们会使用它而不是其他任何数据库?
Redis运行速度快。
Redis之所以快,并非因为它是使用特殊编程语言编写的,而是因为所有数据都存储在内存中。
大多数数据库将所有信息存储在计算机的内存和硬盘之间。访问内存中的数据很快,但获取存储在硬盘上的数据相对较慢。
因此,Redis决定将内存中的数据存储在内存中,而不是存储在硬盘中。
现在,这样做的缺点是处理大于计算机内存量的数据时,这种方法是行不通的。
这听起来可能是一个巨大的问题,但Redis有明确的解决此限制的策略。
以上只是Redis之所以如此快的第一个原因。
第二个原因是Redis将所有数据存储或组织为简单的数据结构,如“双向链表”,“排序集”等。
这些数据结构具有众所周知和充分理解的性能特征。因此,作为开发人员,我们可以决定我们的信息如何组织以及如何高效地查询数据。
Redis也非常快,因为它的本质很简单,它不会增加太多功能; 像Postgres这样的功能重型数据存储在性能方面会受到惩罚。
因此,要将Redis用作数据库,您必须知道如何在有限的空间中存储,必须知道如何将其组织成上述简单的数据结构,并且必须了解如何绕过有限的功能集。
因此,就缓解风险而言,您开始做的方法是开始考虑Redis设计方法论,而不是SQL数据库设计方法论。我是什么意思?
因此,与其说步骤1.将数据放入表格,步骤2.弄清楚我们将如何查询它。
使用Redis更多的是:
步骤1.弄清楚我们需要回答哪些查询。
步骤2.构造最佳数据来回答这些查询。