diff --git a/IOB-UT-NEXT/RedisMan.cs b/IOB-UT-NEXT/RedisMan.cs
index c0a69df1..a2589d80 100644
--- a/IOB-UT-NEXT/RedisMan.cs
+++ b/IOB-UT-NEXT/RedisMan.cs
@@ -1088,6 +1088,33 @@ namespace IOB_UT_NEXT
}
return answ;
}
+ ///
+ /// Salvataggio di una hash di valori in formato Dictionary
+ ///
+ /// chiave
+ /// valori
+ /// scadenza hash COME DATETIME (NULL = NON SCADE)
+ ///
+ public bool redSaveHashDict(string hashKey, Dictionary hashFields, DateTime? expireDT )
+ {
+ bool answ = false;
+ // cerco se ci sia valore in redis...
+ try
+ {
+ RedisKey chiave = hashKey;
+ answ = redSaveHashDict(hashKey, hashFields);
+ if (expireDT !=null)
+ {
+ cache.KeyExpire(chiave, expireDT);
+ }
+ //answ = true;
+ }
+ catch (Exception exc)
+ {
+ Logging.Instance.Error($"redSaveHashDict {exc}");
+ }
+ return answ;
+ }
///
/// Salvataggio di una hash di valori
diff --git a/IOB-WIN-FORM/Iob/Generic.Protected.cs b/IOB-WIN-FORM/Iob/Generic.Protected.cs
index 75cef5b7..0a0d602e 100644
--- a/IOB-WIN-FORM/Iob/Generic.Protected.cs
+++ b/IOB-WIN-FORM/Iob/Generic.Protected.cs
@@ -4568,14 +4568,16 @@ namespace IOB_WIN_FORM.Iob
// se ho --> processo!
if (numOver > 0)
{
+ DateTime scadHash = DateTime.Today.AddMonths(1);
// salvo statistiche Day
rKey = $"{redisMan.redIobTrackKey}:DayStats:{LastDayCurr}";
foreach (var item in TrackDayStatsCount)
{
// traccio con scadenza 1 mese da oggi pareto chiamate giornaliere
- redisMan.redIncrHashCount(rKey, item.Key, null, item.Value);
+ redisMan.redIncrHashCount(rKey, item.Key, scadHash, item.Value);
}
- // salvo statistiche Detail
+ // salvo statistiche Detail, scadenza 15 gg
+ scadHash = DateTime.Today.AddDays(15);
foreach (var item in TrackDetStatsCount)
{
// separo statistiche...
@@ -4583,14 +4585,15 @@ namespace IOB_WIN_FORM.Iob
if (kvp.Count() > 1)
{
rKey = $"{redisMan.redIobTrackKey}:DetailStats:{LastDayCurr}:{kvp[0]}";
- redisMan.redIncrHashCount(rKey, kvp[1], null, item.Value);
+ redisMan.redIncrHashCount(rKey, kvp[1], scadHash, item.Value);
}
}
- // salvodzionario valori dettaglio...
+ // salvo dizionario valori dettaglio... scadenza 5 gg
+ scadHash = DateTime.Today.AddDays(5);
foreach (var item in TrackDetValsCount)
{
rKey = $"{redisMan.redIobTrackKey}:DataLog:{LastDayCurr}:{item.Key}";
- redisMan.redSaveHashDict(rKey, item.Value);
+ redisMan.redSaveHashDict(rKey, item.Value, scadHash);
}
// reset dizionari
TrackDayStatsCount.Clear();