public static WriteBehindCacheUpdateStrategy <K, V> Create(IHitler <K, V> hitler, int batchUpdateIntervalMillis = 30000)
        {
            var result = new WriteBehindCacheUpdateStrategy <K, V>(hitler, batchUpdateIntervalMillis);

            result.Initialize();
            return(result);
        }
        public static ICacheReadStrategy <K, V> Create(IHitler <K, V> hitler)
        {
            var result = new BatchedCacheReadStrategy <K, V>(hitler);

            result.Initialize();
            return(result);
        }
 private BatchedCacheReadStrategy(IHitler <K, V> hitler)
 {
     this.hitler = hitler;
 }
 public DirectCacheReadStrategy(IHitler <K, V> hitler)
 {
     this.hitler = hitler;
 }
 private WriteBehindCacheUpdateStrategy(IHitler <K, V> hitler, int batchUpdateIntervalMillis)
 {
     this.hitler = hitler;
     this.batchUpdateIntervalMillis = batchUpdateIntervalMillis;
 }
 public WriteThroughCacheUpdateStrategy(IHitler <K, V> hitler)
 {
     this.hitler = hitler;
 }