Considerations about Server-side Caching for .NET Applications

Implementing a good caching strategy is fundamental to achieve good performance. Besides that, it is not a trivial task.

There are only two hard things in Computer Science: cache invalidation and naming things. – Phil Karlton

Although I agree with Mr. Karlton, I firmly believe that life would be more comfortable if the only thing we need to take care when implementing some server-side caching were cached data invalidation.

There is no silver bullet

Unfortunately, there is no “one size fits all” strategy for server-side caching. Elton Stoneman recommends guideline criteria that can make the decision easier. Following his recommendations, we should consider:

  1. Cost – how computationally expensive or time-consuming is fetching the data from the owner.
  2. Breadth – how reusable is the cached data throughout the solution
  3. Longevity – how frequently the data needs to be invalidated
  4. Size – what is the size of the cached object

There are numerous options for implementing caching. For example:

  • In-Process and In-Memory caching
  • Out-of-Process caching
  • Caching using a Remote Store

Each option has good parts and bad parts. For instance, I have a client who was experiencing high CPU utilization rates because of the Garbage Collector. After a short investigation, we discovered that the cause was a naïve In-Process and In-Memory caching strategy.

Practical recommendations

Here are some reasonable suggestions for you when designing server-side caching:

  1. Define what you should and what you should not to cache.
  2. Assume that you will probably need more than one cache implementation for your application
  3. Consider the garbage collector impact before adopting an In-Process and In-Memory cache (it is easy to use, but potentially dangerous)
  4. Consider the network impact before caching bigger objects in remote stores
  5.  Measure, measure, measure

Compartilhe este insight:

Elemar Júnior

Sou fundador e CEO da EximiaCo e atuo como tech trusted advisor ajudando diversas empresas a gerar mais resultados através da tecnologia.

Elemar Júnior

Sou fundador e CEO da EximiaCo e atuo como tech trusted advisor ajudando diversas empresas a gerar mais resultados através da tecnologia.

Mais insights para o seu negócio

Veja mais alguns estudos e reflexões que podem gerar alguns insights para o seu negócio:

Outro dia, meu amigo Giovanni Bassi compartilhou o seguinte tuíte: Ele e eu concordamos em discordar muitas vezes. Esta é...
I worked a lot in the last months updating the RavenDB bootcamp to v4.x. My work is done (for a...
Nossos códigos precisam ser fáceis de compilar e testar. Para isso, nada melhor do que começarmos da forma certa, com...
I spent the last week talking about RavenDB in San Francisco. By the way, version 4 is out. Also, I...
When designing systems that need to scale you always need to remember that [tweet]more computing power does not necessarily mean...
Ano passado, Mario Fusco escreveu uma série de posts questionando a forma como programadores Java estão implementando os padrões de projeto definidos...

Curso Reputação e Marketing Pessoal

Masterclasses

01

Introdução do curso

02

Por que sua “reputação” é importante?

03

Como você se apresenta?

04

Como você apresenta suas ideias?

05

Como usar Storytelling?

06

Você tem uma dor? Eu tenho o alívio!

07

Escrita efetiva para não escritores

08

Como aumentar (e manter) sua audiência?

09

Gatilhos! Gatilhos!

10

Triple Threat: Domine Produto, Embalagem e Distribuição

11

Estratégias Vencedoras: Desbloqueie o Poder da Teoria dos Jogos

12

Análise SWOT de sua marca pessoal

13

Soterrado por informações? Aprenda a fazer gestão do conhecimento pessoal, do jeito certo

14

Vendo além do óbvio com a Pentad de Burkle

15

Construindo Reputação através de Métricas: A Arte de Alinhar Expectativas com Lag e Lead Measures

16

A Tríade da Liderança: Navegando entre Líder, Liderado e Contexto no Mundo do Marketing Pessoal

17

Análise PESTEL para Marketing Pessoal

18

Canvas de Proposta de Valor para Marca Pessoal

19

Método OKR para Objetivos Pessoais

20

Análise de Competências de Gallup

21

Feedback 360 Graus para Autoavaliação

22

Modelo de Cinco Forças de Porter

23

Estratégia Blue Ocean para Diferenciação Pessoal

24

Análise de Tendências para Previsão de Mercado

25

Design Thinking para Inovação Pessoal

26

Metodologia Agile para Desenvolvimento Pessoal

27

Análise de Redes Sociais para Ampliar Conexões

Lições complementares

28

Apresentando-se do Jeito Certo

29

O mercado remunera raridade? Como evidenciar a sua?

30

O que pode estar te impedindo de ter sucesso

Recomendações de Leituras

31

Aprendendo a qualificar sua reputação do jeito certo

32

Quem é você?

33

Qual a sua “IDEIA”?

34

StoryTelling

35

Você tem uma dor? Eu tenho o alívio!

36

Escrita efetiva para não escritores

37

Gatilhos!

38

Triple Threat: Domine Produto, Embalagem e Distribuição

39

Estratégias Vencedoras: Desbloqueie o Poder da Teoria do Jogos

40

Análise SWOT de sua marca pessoal

Inscrição realizada com sucesso!

No dia da masterclass você receberá um e-mail com um link para acompanhar a aula ao vivo. Até lá!

A sua subscrição foi enviada com sucesso!

Aguarde, em breve entraremos em contato com você para lhe fornecer mais informações sobre como participar da mentoria.

Masterclass
15/07

Pare de dar a solução certa para o problema errado

Muita gente boa quebra a cabeça por dias tentando resolver o que não estava quebrado, simplesmente por tentar dar a resposta certa pro problema errado, mas precisa realmente ser assim?

Crie sua conta

Preencha os dados para iniciar o seu cadastro no plano anual do Clube de Estudos:

Crie sua conta

Preencha os dados para iniciar o seu cadastro no plano mensal do Clube de Estudos:

× Precisa de ajuda?