Update FileDbCache.cs

This commit is contained in:
ClemensFischer 2025-02-24 18:34:41 +01:00
parent 691e19ebea
commit 1338d0d1cc

View file

@ -88,6 +88,8 @@ namespace MapControl.Caching
byte[] value = null; byte[] value = null;
try try
{
lock (fileDb)
{ {
var record = fileDb.GetRecordByKey(key, new string[] { valueField, expiresField }, false); var record = fileDb.GetRecordByKey(key, new string[] { valueField, expiresField }, false);
@ -96,6 +98,7 @@ namespace MapControl.Caching
value = (byte[])record[0]; value = (byte[])record[0];
} }
} }
}
catch (Exception ex) catch (Exception ex)
{ {
Debug.WriteLine($"{nameof(FileDbCache)}.Get({key}): {ex.Message}"); Debug.WriteLine($"{nameof(FileDbCache)}.Get({key}): {ex.Message}");
@ -119,6 +122,8 @@ namespace MapControl.Caching
}; };
try try
{
lock (fileDb)
{ {
if (fileDb.GetRecordByKey(key, new string[0], false) != null) if (fileDb.GetRecordByKey(key, new string[0], false) != null)
{ {
@ -130,6 +135,7 @@ namespace MapControl.Caching
fileDb.AddRecord(fieldValues); fileDb.AddRecord(fieldValues);
} }
} }
}
catch (Exception ex) catch (Exception ex)
{ {
Debug.WriteLine($"{nameof(FileDbCache)}.Set({key}): {ex.Message}"); Debug.WriteLine($"{nameof(FileDbCache)}.Set({key}): {ex.Message}");
@ -145,9 +151,12 @@ namespace MapControl.Caching
CheckArgument(key); CheckArgument(key);
try try
{
lock (fileDb)
{ {
fileDb.DeleteRecordByKey(key); fileDb.DeleteRecordByKey(key);
} }
}
catch (Exception ex) catch (Exception ex)
{ {
Debug.WriteLine($"{nameof(FileDbCache)}.Remove({key}): {ex.Message}"); Debug.WriteLine($"{nameof(FileDbCache)}.Remove({key}): {ex.Message}");
@ -155,13 +164,17 @@ namespace MapControl.Caching
} }
public void DeleteExpiredItems() public void DeleteExpiredItems()
{
lock (fileDb)
{ {
var deleted = fileDb.DeleteRecords(new FilterExpression(expiresField, DateTime.UtcNow, ComparisonOperatorEnum.LessThanOrEqual)); var deleted = fileDb.DeleteRecords(new FilterExpression(expiresField, DateTime.UtcNow, ComparisonOperatorEnum.LessThanOrEqual));
if (deleted > 0) if (deleted > 0)
{ {
Debug.WriteLine($"{nameof(FileDbCache)}: Deleted {deleted} expired items");
fileDb.Clean(); fileDb.Clean();
Debug.WriteLine($"{nameof(FileDbCache)}: Deleted {deleted} expired items");
}
} }
} }