Metodo timeout+ random x cache

This commit is contained in:
Samuele Locatelli
2022-09-16 09:03:05 +02:00
parent fddfbb6dfa
commit 300c2dc294
2 changed files with 29 additions and 8 deletions
+1 -1
View File
@@ -41,7 +41,7 @@ namespace MP.SPEC.Components
}
[Inject]
protected MpDataService MDService { get; set; }
protected MpDataService MDService { get; set; } = null!;
protected string selFlux
{
+28 -7
View File
@@ -80,7 +80,7 @@ namespace MP.SPEC.Data
result = await Task.FromResult(dbController.AnagStatiComm());
// serializzp e salvo...
rawData = JsonConvert.SerializeObject(result);
await redisDb.StringSetAsync(redisStatoCom, rawData, TimeSpan.FromMinutes(maxAgeConfig));
await redisDb.StringSetAsync(redisStatoCom, rawData, getRandTOut(maxAgeConfig));
stopWatch.Stop();
TimeSpan ts = stopWatch.Elapsed;
Log.Debug($"AnagStatiComm Read from DB: {ts.TotalMilliseconds}ms");
@@ -112,7 +112,7 @@ namespace MP.SPEC.Data
result = await Task.FromResult(dbController.AnagTipoArtLV());
// serializzp e salvo...
rawData = JsonConvert.SerializeObject(result);
await redisDb.StringSetAsync(redisTipoArt, rawData, TimeSpan.FromMinutes(maxAgeConfig));
await redisDb.StringSetAsync(redisTipoArt, rawData, getRandTOut(maxAgeConfig));
stopWatch.Stop();
TimeSpan ts = stopWatch.Elapsed;
Log.Debug($"AnagTipoArtLV Read from DB: {ts.TotalMilliseconds}ms");
@@ -167,7 +167,7 @@ namespace MP.SPEC.Data
string codArticolo = $"{CodArt}";
int cacheCheckArtUsato = 1;
int.TryParse(_configuration.GetValue<string>("ServerConf:cacheCheckArtUsato"), out cacheCheckArtUsato);
TimeSpan TTLCache = TimeSpan.FromMinutes(cacheCheckArtUsato);
TimeSpan TTLCache = getRandTOut(cacheCheckArtUsato);
// cerco in cache redis...
string redKeyArtUsed = $"{Utils.redKeyArtUsed}:{codArticolo}";
string redKeyTabCheckArt = Utils.redKeyTabCheckArt;
@@ -242,7 +242,7 @@ namespace MP.SPEC.Data
result = await Task.FromResult(dbController.ConfigGetAll());
// serializzp e salvo...
rawData = JsonConvert.SerializeObject(result);
await redisDb.StringSetAsync(redisConfKey, rawData, TimeSpan.FromMinutes(maxAgeConfig));
await redisDb.StringSetAsync(redisConfKey, rawData, getRandTOut(maxAgeConfig));
stopWatch.Stop();
TimeSpan ts = stopWatch.Elapsed;
Log.Debug($"ConfigGetAll Read from DB: {ts.TotalMilliseconds}ms");
@@ -394,7 +394,7 @@ namespace MP.SPEC.Data
result = await Task.FromResult(dbController.MacchineGetAll());
// serializzp e salvo...
rawData = JsonConvert.SerializeObject(result);
redisDb.StringSet(currKey, rawData, TimeSpan.FromMinutes(maxAgeMin));
redisDb.StringSet(currKey, rawData, getRandTOut(maxAgeMin));
}
if (result == null)
{
@@ -431,7 +431,7 @@ namespace MP.SPEC.Data
result = await Task.FromResult(dbController.MacchineWithFlux());
// serializzp e salvo...
rawData = JsonConvert.SerializeObject(result);
redisDb.StringSet(currKey, rawData, TimeSpan.FromMinutes(maxAgeMin));
redisDb.StringSet(currKey, rawData, getRandTOut(maxAgeMin));
}
if (result == null)
{
@@ -469,7 +469,7 @@ namespace MP.SPEC.Data
result = await Task.FromResult(dbController.ParametriGetFilt(IdxMacchina));
// serializzp e salvo...
rawData = JsonConvert.SerializeObject(result);
redisDb.StringSet(currKey, rawData, TimeSpan.FromMinutes(maxAgeMin));
redisDb.StringSet(currKey, rawData, getRandTOut(maxAgeMin));
}
if (result == null)
{
@@ -503,6 +503,27 @@ namespace MP.SPEC.Data
#endregion Public Methods
#region Protected Fields
protected Random rand = new Random();
#endregion Protected Fields
#region Protected Methods
/// <summary>
/// Restituisce un timeout dai minuti richiesti + tempo random 1..60 sec
/// </summary>
/// <param name="stdMinutes"></param>
/// <returns></returns>
protected TimeSpan getRandTOut(int stdMinutes)
{
double rndValue = (double)stdMinutes + (double)rand.Next(1, 60) / 60;
return TimeSpan.FromMinutes(rndValue);
}
#endregion Protected Methods
#region Private Fields
private const string redisConfKey = "MP:SPEC:Cache:Config";