示例#1
0
        public void Save(string userId, string corrId, string value)
        {
            GetRetryPolicy().Execute(() =>
            {
                Breaker.Execute(() =>
                {
                    Console.WriteLine("Try save to db");
                    _dataAccess.GetConnection(userId, corrId).GetDatabase().StringSet(corrId, value);
                });
            });

            Console.WriteLine("Save to cache");
            MemoryCache.Default.AddOrGetExisting(corrId, value, _cachePolicy);
        }
示例#2
0
 private string GetFromDB(string id)
 {
     return(GetRetryPolicy().Execute(() =>
     {
         return Breaker.Execute(() =>
         {
             Console.WriteLine("Request poem");
             var value = _dataAccess.GetConnection(id).GetDatabase().StringGet(id);
             if (value.IsNull)
             {
                 Console.WriteLine("Throw exception");
                 throw new ValueNotFoundException();
             }
             return value;
         });
     }));
 }