hazelcast-client
Version:
Hazelcast - open source In-Memory Data Grid - client for NodeJS
67 lines (66 loc) • 2.33 kB
TypeScript
import { Data } from '../serialization/Data';
import { NearCacheConfig } from '../Config';
import { SerializationService } from '../serialization/SerializationService';
import { DataKeyedHashMap } from '../DataStoreHashMap';
export declare class DataRecord {
key: Data;
value: Data | any;
private creationTime;
private expirationTime;
private lastAccessTime;
private accessHit;
constructor(key: Data, value: Data | any, creationTime?: number, ttl?: number);
static lruComp(x: DataRecord, y: DataRecord): number;
static lfuComp(x: DataRecord, y: DataRecord): number;
static randomComp(x: DataRecord, y: DataRecord): number;
isExpired(maxIdleSeconds: number): boolean;
setAccessTime(): void;
hitRecord(): void;
}
export interface NearCacheStatistics {
evictedCount: number;
expiredCount: number;
missCount: number;
hitCount: number;
entryCount: number;
}
export interface NearCache {
put(key: Data, value: any): void;
get(key: Data): Data | any;
invalidate(key: Data): void;
clear(): void;
getStatistics(): NearCacheStatistics;
isInvalidatedOnChange(): boolean;
}
export declare class NearCacheImpl implements NearCache {
private serializationService;
private name;
private invalidateOnChange;
private maxIdleSeconds;
private inMemoryFormat;
private timeToLiveSeconds;
private evictionPolicy;
private evictionMaxSize;
private evictionSamplingCount;
private evictionSamplingPoolSize;
private evictionCandidatePool;
internalStore: DataKeyedHashMap<DataRecord>;
private evictedCount;
private expiredCount;
private missCount;
private hitCount;
private compareFunc;
constructor(nearCacheConfig: NearCacheConfig, serializationService: SerializationService);
put(key: Data, value: any): void;
get(key: Data): Data | any;
invalidate(key: Data): void;
clear(): void;
protected isEvictionRequired(): boolean;
protected doEvictionIfRequired(): void;
protected recomputeEvictionPool(): number;
protected filterExpiredRecord(candidate: DataRecord): boolean;
protected expireRecord(key: any | Data): void;
protected evictRecord(key: any | Data): void;
isInvalidatedOnChange(): boolean;
getStatistics(): NearCacheStatistics;
}