我的问题:
我需要实现一个缓存,将 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 中找不到。
请建议我有任何其他 ORM 用于(Redis 缓存)/任何其他缓存技术来存储和检索 RDBMS 表记录。
我尝试使用 SQLite DB 作为缓存,它可以工作。但是,我正在寻找更优化的缓存技术来更快地检索记录。
所需的缓存大小为: 50 GB(包含所有表)。
在这种情况下,请建议 SQLite 是否适用于我的场景或我们可以采用的任何其他缓存技术。