Ciao a tutti ,vorrei calcolare quanto spazio occupano dei file o degli oggetti salvati in cache ram,ho scritto uno snippet ma vorrei un opinione sul fatto di avere impostato correttamente il codice ,
private IMemoryCache _cache;
public HomeController(IMemoryCache memoryCache)
{
_cache = memoryCache;
ViewData["FileName"] = "test";
}
..................
.................
.................
Process p = Process.GetCurrentProcess();
long memoriaNonPaginata = p.NonpagedSystemMemorySize64;
long memoriaPaginata = p.PagedMemorySize64;
long memoriaDiSistema = p.PagedSystemMemorySize64;
long ramIniziale = memoriaNonPaginata + memoriaPaginata + memoriaDiSistema;
BasicModel b = new BasicModel();
b.RamIniziale = ramIniziale;
MemoryCacheEntryOptions opt = new MemoryCacheEntryOptions();
opt.Priority = CacheItemPriority.NeverRemove;
string data = null;
string path = @"C:\Users\test\Desktop\SourceCode.txt";
data = System.IO.File.ReadAllText(path);
int numeroOggettiInCache = 33000;
long counter = 0;
Random r = new Random();
while (counter < numeroOggettiInCache)
{
string k = counter.ToString();
data = data + k.Substring(0,1);
int position = r.Next(0, 28000);
data = data.Remove(position, 1);
_cache.CreateEntry("cucu" + counter.ToString());
_cache.Set("cucu" + counter.ToString(), data, opt);
counter++;
}
Process p1 = Process.GetCurrentProcess();
long memoriaNonPaginataPost = p1.NonpagedSystemMemorySize64;
long memoriaPaginataPost = p1.PagedMemorySize64;
long memoriaDiSistemaPost = p1.PagedSystemMemorySize64;
long ramFinale = memoriaNonPaginataPost + memoriaPaginataPost + memoriaDiSistemaPost;
b.RamFinale = ramFinale;
string a1= _cache.Get("cucu1").ToString();
string a2 = _cache.Get("cucu907").ToString();
string a3 = _cache.Get("cucu29907").ToString();
return View("BasicModelView",b);
questo serve a modificare il file che viene caricato n volte ,pensavo che se uguale o quasi venisse salvato solo una volta
string k = counter.ToString();
data = data + k.Substring(0,1);
int position = r.Next(0, 28000);
data = data.Remove(position, 1);
public class BasicModel
{
double differenzaRam;
public BasicModel()
{
}
public double RamIniziale { get; set; }
public double RamFinale { get;set; }
public double DifferenzaRam {
get { return (RamFinale - RamIniziale); }
set { differenzaRam = value; }
}
}
spero nei vostri suggerimenti o dove trovare info relative all'argomento,grazie,ciao