我的问题:
我需要实现一个将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是否适合我的方案或我们可以采用的任何其他缓存技术。