当前位置: 首页>>代码示例>>Java>>正文


Java IRowCacheEntry类代码示例

本文整理汇总了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;未经允许,请勿转载。