【发布时间】:2018-02-10 02:57:42
【问题描述】:
我有一个不断访问但很少更改的 SQL 表。
表按UserID分区,每个用户在表中有很多条记录。
我想节省数据库资源,并在某种内存缓存中将此表移动到更靠近应用程序的位置。
进程内缓存过于占用内存,因此需要在应用程序外部进行。
事实证明,像 Redis 这样的键值存储效率很低,因为在 Redis 之间对表进行序列化和反序列化的开销很大。
我正在寻找可以将此表(或数据分区)存储在内存中的东西,但让我只查询我需要的信息,而无需为每次读取序列化和反序列化大块数据。
是否有任何东西可以提供内存数据库表中的 Out of Process 以支持高速缓存查询?
搜索表明 Apache Ignite 可能是一个可能的选择,但我正在寻找更明智的建议。
【问题讨论】:
-
“内存数据库表中的进程外”是什么意思?
-
你的前端是什么?一些托管环境(如 Asp.net)具有输出缓存或中间件缓存,如果它符合您的需求,您也可以查看 Elastic Search。
标签: sql caching redis in-memory-database in-memory-tables