Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cassandra/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Cassandra中有没有一种方法可以强制对给定的表进行全键缓存?_Cassandra - Fatal编程技术网

在Cassandra中有没有一种方法可以强制对给定的表进行全键缓存?

在Cassandra中有没有一种方法可以强制对给定的表进行全键缓存?,cassandra,Cassandra,这将是很好的,因为一些cf的键数量有限,或者查询对这些键非常密集,等等 Thx 编辑:更准确地说,我对给定表的分区键磁盘位置缓存感兴趣 编辑2:这个帖子似乎给出了答案 Cassandra现在阻止对键或行缓存进行任何手动调优(过去允许对每个CF的键或行缓存参数进行手动调优),而是使用自己的全局缓存管理器。对于不经常查询的CFs来说,这很烦人,但我们希望从中获得低延迟。显然这是我的情况。Apache/Datastax的任何人都可以告诉我这是否有可能发展?Thx.如果您有一系列的键在Cassandra

这将是很好的,因为一些cf的键数量有限,或者查询对这些键非常密集,等等

Thx

编辑:更准确地说,我对给定表的分区键磁盘位置缓存感兴趣

编辑2:这个帖子似乎给出了答案
Cassandra现在阻止对键或行缓存进行任何手动调优(过去允许对每个CF的键或行缓存参数进行手动调优),而是使用自己的全局缓存管理器。对于不经常查询的CFs来说,这很烦人,但我们希望从中获得低延迟。显然这是我的情况。Apache/Datastax的任何人都可以告诉我这是否有可能发展?Thx.

如果您有一系列的键在Cassandra集群中经常被查询,Cassandra的内置键缓存将按列族自动为您保留这些值

,因此不需要更改配置

现在,如果您的问题涉及到能够让Cassandra为您指定的任何列族的整个键范围自动预热键缓存,那么我认为这是不可能的


如果您真的需要自己预热缓存,而不是让缓存在运行时发生,那么最好的选择是创建自己的启动应用程序,在启动时查询所需的密钥范围。

谢谢您的回答,非常清楚。我自己加热缓存会很好,但我的问题是,我需要的查询不仅依赖于分区键,还依赖于集群键。。。这将是一个好主意,卡桑德拉开发人员实施这一特点,它似乎不是很昂贵@尼科明白了。对于这种类型的缓存,最好的选择是rowcache。这将在内存中保留整个“行”。您必须记住,CQL3确实对Cassandra行和列进行了幕后翻译。分区键实际上是一个低级的节约行键,而集群键实际上是一个节约列名。我对rowcache不是很在行缓存方面的专家,因为我们的负载非常重,但下面有一个URL可以解释这一点:我考虑过这样做,但我的行太大了!我认为Cassandra可以处理以下过程(也许有一天会):通过缓存的分区键检索宽行位置,然后根据其他等式完成查询。。。我甚至相信这就是他们实际做的,除了“完整”密钥缓存。。。也许我可以“模拟”大量使用这些表来强制它们进入缓存,但这太疯狂了;)