使用Redis和RDBMS表实现缓存

时间:2019-07-15 07:37:22

标签: python-3.x sqlite caching py-redis

我的问题:

我需要实现一个将RDBMS表(我正在使用Microsoft SQL Server)存储到缓存服务器的内存中的缓存。

RDBMS表提供的内容:

它允许我查询具有任何列的表,并且 仅返回过滤的记录。

我尝试过的事情:

我实现了Redis缓存服务器(使用Python编程语言)并存储了RDBMS表的数据,如下所示:

Syntax:
{table-name}:{primary-key}:{$attribute_name/column-name} = $value

Row-1:
employee:1:first_name = "John"
employee:1:last_name = "Doe"
employee:1:address = "New York"

Row-2:
employee:2:first_name = "Benjamin"
employee:2:last_name = "Button"
employee:2:address = "Chicago"

Row-3:
employee:3:first_name = "Mycroft"
employee:3:last_name = "Holmes"
employee:3:address = "London"

我的问题:

实现Redis(或其他任何键/值存储)以使用它在查询中缓存RDBMS是最好的主意吗?

我主要关心的是,我需要查询数据并从缓存服务器中返回结果(键/值存储中的查询服务器变得很复杂)

请建议执行键/值对是否可行。这是一般性的讨论。

我的主要关注点是:

我需要使用WHERE,GROUP BY,ORDER BY,JOINS和AGGREGATE FUNCTIONS来查询数据,但我希望在Redis中找不到其中的一些数据。

谨建议我,(Redis Cache)的任何其他ORM /其他任何用于存储和检索RDBMS表记录的缓存技术。

我尝试使用SQLite DB作为缓存,它可以工作。但是,我正在寻找更优化的缓存技术来更快地检索记录。

所需的缓存大小为: 50 GB(包含所有表)。

请建议在这种情况下SQLite是否适合我的方案或我们可以采用的任何其他缓存技术。

0 个答案:

没有答案