行缓存在首次访问单列时将整行加载到内存中。新列的更新和插入更新行缓存 - 它可以被视为直写。
假设我有足够的内存来缓存我的行,我可以确定读取访问将始终从内存提供,而与缓存行上的更新/插入无关?
行缓存在首次访问单列时将整行加载到内存中。新列的更新和插入更新行缓存 - 它可以被视为直写。
假设我有足够的内存来缓存我的行,我可以确定读取访问将始终从内存提供,而与缓存行上的更新/插入无关?
简短的回答:是的。行缓存将使您降低到微秒,而不是毫秒。
更长的答案:从技术上讲,只有在第一次读取之后,写入才会被添加到缓存中,除非它有一个现有的条目。Cassandra 确实支持定期保存其缓存,以便在下次重新启动时对其进行预热。
是的,但我也读到它只能将性能提高 5% 左右,而且在 95% 的情况下,你永远不应该打开它。
在 playOrm 项目中,我们想知道它是否会将性能提高 40% 左右甚至 100%,因为我们只会缓存索引表中的行,当这些行分布在集群中时会加速我们的所有查询。我们已经在 60 毫秒内使用 S-SQL(可扩展 SQL)对分区中的 1,000,000 行进行查询,并且一旦 playOrm 添加嵌套的前瞻循环连接,它可能会变得更快,这可能比旧的 DBMS 嵌套块更快循环加入。