Пример #1
0
        public static void UpdateAccountCreditCardInfoCache(string accountId, AccountCreditCardInfo accountCreditCardInfo)
        {
            //ConnectionMultiplexer con = ConnectionMultiplexer.Connect(Sahara.Core.Settings.Azure.Redis.RedisConnections.AccountManager_RedisConfiguration);
            //IDatabase cache = con.GetDatabase();

            //IDatabase cache = Sahara.Core.Settings.Azure.Redis.RedisMultiplexers.AccountManager_Multiplexer.GetDatabase();
            IDatabase cache = Sahara.Core.Settings.Azure.Redis.RedisMultiplexers.RedisMultiplexer.GetDatabase();

            try
            {
                cache.HashSet(
                    AccountByIdHash.Key(accountId),
                    AccountByIdHash.Fields.CreditCard,
                    JsonConvert.SerializeObject(accountCreditCardInfo),
                    When.Always,
                    CommandFlags.FireAndForget
                    );

                // Set or extend expiration
                cache.KeyExpire(AccountByStripeIdHash.Key(accountId), AccountByStripeIdHash.Expiration);
            }
            catch
            {
            }
        }
Пример #2
0
        public static AccountCreditCardInfo GetAccountCreditCardInfoCache(string accountId)
        {
            //ConnectionMultiplexer con = ConnectionMultiplexer.Connect(Sahara.Core.Settings.Azure.Redis.RedisConnections.AccountManager_RedisConfiguration);
            //IDatabase cache = con.GetDatabase();

            //IDatabase cache = Sahara.Core.Settings.Azure.Redis.RedisMultiplexers.AccountManager_Multiplexer.GetDatabase();
            IDatabase cache = Sahara.Core.Settings.Azure.Redis.RedisMultiplexers.RedisMultiplexer.GetDatabase();

            AccountCreditCardInfo cachedCreditCardInfo = null;

            try
            {
                var redisValue = cache.HashGet(AccountByIdHash.Key(accountId), AccountByIdHash.Fields.CreditCard);
                if (redisValue.HasValue)
                {
                    cachedCreditCardInfo = JsonConvert.DeserializeObject <AccountCreditCardInfo>(redisValue);
                }
            }
            catch
            {
            }

            return(cachedCreditCardInfo);
        }