---
title: "Stora cacheblock vs. små"
type: "forum-thread"
url: "https://www.webforum.nu/amne/dotnet/138083-stora-cacheblock-vs-små"
topic: ".NET"
topic_url: "https://www.webforum.nu/amne/dotnet"
author: "Crim"
published: "2005-11-22T19:57:47.000Z"
updated: "2005-11-23T17:22:13.000Z"
replies: 8
views: 432
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/dotnet/138083-stora-cacheblock-vs-små"
---

# Stora cacheblock vs. små

## #1 — Crim, 2005-11-22T19:57Z

Jag har några frågor kring hur man ska använda cachen i asp.net. Säg t.ex. att man har ett system med flera användare som ska se olika saker. Vore det bäst att hämta in all data för alla användare, lägga det i cachen, och sedan använda sig av ett rowfilter för att returnera rätt information. Eller bör man endast hämta informationen specifik för den aktuella användare och lägga det i cachen?

Hoppas ni förstår vad jag menar!   :e

Permalänk: https://www.webforum.nu/p/138083

## #2 — emission, 2005-11-22T20:12Z

I princip är det mer effektivt att lagra små cacheblock, eftersom såväl objekttdeserialisering som rowfilter tar tid. Däremot kan det bli något svåröverskådligt att lagra så, och om informationen ändå är knuten till den inloggade användaren så finns ju Session.

Permalänk: https://www.webforum.nu/p/1714001

## #3 — Crim, 2005-11-22T21:00Z

> **emission skrev:**
>
> I princip är det mer effektivt att lagra små cacheblock, eftersom såväl objekttdeserialisering som rowfilter tar tid. Däremot kan det bli något svåröverskådligt att lagra så, och om informationen ändå är knuten till den inloggade användaren så finns ju Session.

Jo, men det är ganska mycket information så därför undviker jag Session. Problemet med små block är att kunna komma åt och förstöra dem vid rätt tillfälle. Säg att man har en repeater som visar personliga events, sedan på en undersida så har man en repeater som visar projektrelaterade events. Om man lägger till ett projektrelaterat event så bör ju det visas bland de personliga eventsen hos de personer som berörs av projektet. Därför bör ju det personliga cacheblocket hos berörda personer förstöras för att återspegla det nya eventet. Finns det något smart sätt att lösa det på eller får man  loopa igenom de berörda personerna och förstöra deras cache?

Permalänk: https://www.webforum.nu/p/1714033

## #4 — emission, 2005-11-22T21:37Z

> **Crim skrev:**
>
> Jo, men det är ganska mycket information så därför undviker jag Session. Problemet med små block är att kunna komma åt och förstöra dem vid rätt tillfälle. Säg att man har en repeater som visar personliga events, sedan på en undersida så har man en repeater som visar projektrelaterade events. Om man lägger till ett projektrelaterat event så bör ju det visas bland de personliga eventsen hos de personer som berörs av projektet. Därför bör ju det personliga cacheblocket hos berörda personer förstöras för att återspegla det nya eventet. Finns det något smart sätt att lösa det på eller får man  loopa igenom de berörda personerna och förstöra deras cache?

Det var precis detta jag syftade på när jag skrev att det blir svåröverskådligt. Om du kan skriva metoderna på ett sätt som gör att förstöringsprocessen blir enkel och transparent, så finns det inget som hindrar att man "loopar igenom och förstör", men det finns ju en risk att det hela blir så komplext att man bygger in nya prestandaproblem. Om det är värt besväret beror alldeles på hur ditt system ser ut och hur många som kan tänkas använda det.

Permalänk: https://www.webforum.nu/p/1714047

## #5 — Crim, 2005-11-22T22:05Z

> **emission skrev:**
>
> Det var precis detta jag syftade på när jag skrev att det blir svåröverskådligt. Om du kan skriva metoderna på ett sätt som gör att förstöringsprocessen blir enkel och transparent, så finns det inget som hindrar att man "loopar igenom och förstör", men det finns ju en risk att det hela blir så komplext att man bygger in nya prestandaproblem. Om det är värt besväret beror alldeles på hur ditt system ser ut och hur många som kan tänkas använda det.

Ok, då var det som jag misstänkte då...Hur bra är det att binda olika cachar till olika filer och bara uppdatera filerna varje gång en grupp cachar ska uppdateras?

Permalänk: https://www.webforum.nu/p/1714059

## #6 — emission, 2005-11-22T22:58Z

Om du har ett enkelt gruppsystem så kan du kanske binda cacheobjekten till filer i "gruppmappar". Då borde du kunna invalidera hela gruppen genom att radera mappen.

Permalänk: https://www.webforum.nu/p/1714078

## #7 — Crim, 2005-11-23T12:00Z

> **emission skrev:**
>
> Om du har ett enkelt gruppsystem så kan du kanske binda cacheobjekten till filer i "gruppmappar". Då borde du kunna invalidera hela gruppen genom att radera mappen.

Hur påverkar det prestandan jämfört med att t.ex. loopa igenom och förstöra de olika cacharna?

Permalänk: https://www.webforum.nu/p/1714192

## #8 — emission, 2005-11-23T15:23Z

Det borde ge en viss prestandafördel, och dessutom blir det en tämligen trevlig struktur.

Permalänk: https://www.webforum.nu/p/1714309

## #9 — Crim, 2005-11-23T17:22Z

Ok, tack för hjälpen!

Permalänk: https://www.webforum.nu/p/1714361

---

Tråden på webben: https://www.webforum.nu/amne/dotnet/138083-stora-cacheblock-vs-små
