Ponera att jag i en webbapplikation A1 som ligger i applikationspool P1 på server S1 hämtar upp en datamängd D från en godtycklig datakälla. Betänk nu att webbapplikation A2 som ligger i applikationspool P2 på samma server S1 behöver använda exakt samma data. Jag vill ju inte behöva hämta samma datamängd D från A2 eftersom D redan är hämtat av A1. A2 bör kunna använda sig av D via en delad cache, förutsatt att A1 stoppat in D i den delad cache'n. Oj. Delad cache mellan processer
Jag har sökt på MSDN och googlat och kommit fram till att .NET1.1 har inget stöd för den här sortens funktionalitet, och inte .NET2+ heller för den delen. Rätta mig gärna om jag har fel!
På MSDN hittade jag till slut en artikel som åtminstone behandlar problemet: "Understanding Advanced Caching Issues" http://msdn2.microsoft.com/en-us/library/ms978504.aspx. Hittade även denna "Caching in Distributed Applications" http://msdn2.microsoft.com/en-us/library/ms978501.aspx. I den sistnämnda nämns att via memory-mapped files så är det möjligt att cache'a på maskinnivå.
Det var ingen vidare hjälp eftersom det är ju ingen direkt raketforskning att komma fram till de koncepten.
Mina frågor är nu:
Måste jag verkligen bygga det här själv? Jag skulle absolut kunna göra det, men det tar ju en dag eller två och det är ju även upplagt för eventuella problem (IO flaskhalsar etc?). Dessutom måste jag förmodligen använda unmanaged kod (t.ex memory mapped files via Win32 API:et) och det vill man ju helst undvika.
Någon som vet om det finns någon färdig lösning/komponent för att lösa delad-cache-mellan-processer-problemet? Licenskostnad är inget problem.Sv: Delad cache mellan processer
Ja som du säger är det ett klurigt ämne.
Det finns många cache-ramverk för stora som små applikationer och dessutom massa olika lösningar hur man kan gå till väga med detta problem.
http://www.oracle.com/technology/tech/dotnet/aspnet/index.html
Här är ett ramverk från Oracle. ta en titt på deras Cache del där. Om jag inte mins fel tror jag denna skall ge stöd för ditt problem...
Mvh johan