本文整理汇总了Java中org.apache.cassandra.cache.IRowCacheEntry类的典型用法代码示例。如果您正苦于以下问题:Java IRowCacheEntry类的具体用法?Java IRowCacheEntry怎么用?Java IRowCacheEntry使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
IRowCacheEntry类属于org.apache.cassandra.cache包,在下文中一共展示了IRowCacheEntry类的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。
示例1: getRawCachedRow
import org.apache.cassandra.cache.IRowCacheEntry; //导入依赖的package包/类
/**
* @return the cached row for @param key if it is already present in the cache.
* That is, unlike getThroughCache, it will not readAndCache the row if it is not present, nor
* are these calls counted in cache statistics.
*
* Note that this WILL cause deserialization of a SerializingCache row, so if all you
* need to know is whether a row is present or not, use containsCachedRow instead.
*/
public ColumnFamily getRawCachedRow(DecoratedKey key)
{
if (!isRowCacheEnabled())
return null;
IRowCacheEntry cached = CacheService.instance.rowCache.getInternal(new RowCacheKey(metadata.cfId, key));
return cached == null || cached instanceof RowCacheSentinel ? null : (ColumnFamily) cached;
}
开发者ID:pgaref,项目名称:ACaZoo,代码行数:17,代码来源:ColumnFamilyStore.java
示例2: maybeUpdateRowCache
import org.apache.cassandra.cache.IRowCacheEntry; //导入依赖的package包/类
public void maybeUpdateRowCache(DecoratedKey key, ColumnFamily columnFamily)
{
if (!isRowCacheEnabled())
return;
RowCacheKey cacheKey = new RowCacheKey(metadata.cfId, key);
// always invalidate a copying cache value
if (CacheService.instance.rowCache.isPutCopying())
{
invalidateCachedRow(cacheKey);
return;
}
// invalidate a normal cache value if it's a sentinel, so the read will retry (and include the new update)
IRowCacheEntry cachedRow = CacheService.instance.rowCache.getInternal(cacheKey);
if (cachedRow != null)
{
if (cachedRow instanceof RowCacheSentinel)
invalidateCachedRow(cacheKey);
else
// columnFamily is what is written in the commit log. Because of the PeriodicCommitLog, this can be done in concurrency
// with this. So columnFamily shouldn't be modified and if it contains super columns, neither should they. So for super
// columns, we must make sure to clone them when adding to the cache. That's what addAllWithSCCopy does (see #3957)
((ColumnFamily) cachedRow).addAllWithSCCopy(columnFamily, HeapAllocator.instance);
}
}
开发者ID:dprguiuc,项目名称:Cassandra-Wasef,代码行数:28,代码来源:ColumnFamilyStore.java
示例3: getRawCachedRow
import org.apache.cassandra.cache.IRowCacheEntry; //导入依赖的package包/类
/**
* @return the cached row for @param key if it is already present in the cache.
* That is, unlike getThroughCache, it will not readAndCache the row if it is not present, nor
* are these calls counted in cache statistics.
*
* Note that this WILL cause deserialization of a SerializingCache row, so if all you
* need to know is whether a row is present or not, use containsCachedRow instead.
*/
public ColumnFamily getRawCachedRow(DecoratedKey key)
{
if (!isRowCacheEnabled() || metadata.cfId == null)
return null; // secondary index
IRowCacheEntry cached = CacheService.instance.rowCache.getInternal(new RowCacheKey(metadata.cfId, key));
return cached == null || cached instanceof RowCacheSentinel ? null : (ColumnFamily) cached;
}
开发者ID:dprguiuc,项目名称:Cassandra-Wasef,代码行数:17,代码来源:ColumnFamilyStore.java
注:本文中的org.apache.cassandra.cache.IRowCacheEntry类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论