Performance - diminuir o acesso ao banco de dados e guardar alguns dados em memória

16/01/2017

0

Estou trabalhando em uma aplicação em C# com Web Api e o site em html5 com angular, e banco de dados firebird, porém queria saber se tem algum jeito de fazer a busca no banco de dados e guardar as informações em memória, para não acessar o banco toda hora, e quando alguém fizer alguma alteração disparar algum serviço pra atualizar a página do outro usuário que esteja usando. Alguém já fez isso? Qual a melhor forma de melhorar a performance da minha aplicação?
Natália

Natália

Responder

Post mais votado

17/01/2017

Pensei em algo semelhante estes tempos atrás, no caso pensei em armazenar alguns dados em localStorage e entao consultar a partir dele. Na atualização pensei em websocket, mas para adiantar meu desenvolvimento acabei confiando no cache do banco. Mas ainda penso em implementar algo nesse estilo. Deixar o servidor processar somente o "necessário".

Wilson Neto

Wilson Neto
Responder

Mais Posts

17/01/2017

Natália

Pensei nessa forma também Wilson, estava vendo um curso aqui no DevMedia mesmo sobre WebStorage, e é bem tranquilo, só não sei se daria pra guardar a quantidade de informações que eu pretendo, pois seria várias pesquisas que o pessoal da empresa está pretendendo guardar os dados. Sobre o websocket já ouvi falar também, mas nunca mexi com ele, vou dar uma estudada pra implementar na minha aplicação.
Responder

17/01/2017

Wilson Neto

Pensei nessa forma também Wilson, estava vendo um curso aqui no DevMedia mesmo sobre WebStorage, e é bem tranquilo, só não sei se daria pra guardar a quantidade de informações que eu pretendo, pois seria várias pesquisas que o pessoal da empresa está pretendendo guardar os dados. Sobre o websocket já ouvi falar também, mas nunca mexi com ele, vou dar uma estudada pra implementar na minha aplicação.


Então, considerando que são 5MB aprox por domínio, seria melhor usar o sessionStorage, dessa forma a cada nova "sessão" pegaria somente os dados já atualizados. Claro que para um volume de dados maior que esse é inviável. As vezes vale mais a pena usar o cache do banco.

Existe uma outra ferramenta chamada Redis, eu assisti uma palestra uma vez no InfoQ de uma desenvolvedora do Stackoverflow comentando sobre ele e num tuto de um livro da Casa do Código sobre NodeJS tinha algo sobre ele também. Basicamente armazena a estrutura de dados na memória.

Eu não a domino, mas também pretendo aprender para implementar em breve (tentando excluir o webstorage para esses fins), basicamente - Eu utilizo webStorage para trabalhar com algo no estilo de rascunho, deixo a responsabilidade toda no navegador e depois mando persistir o que o usuário definiu.

:)
Responder

18/01/2017

Natália

Pensei nessa forma também Wilson, estava vendo um curso aqui no DevMedia mesmo sobre WebStorage, e é bem tranquilo, só não sei se daria pra guardar a quantidade de informações que eu pretendo, pois seria várias pesquisas que o pessoal da empresa está pretendendo guardar os dados. Sobre o websocket já ouvi falar também, mas nunca mexi com ele, vou dar uma estudada pra implementar na minha aplicação.


Então, considerando que são 5MB aprox por domínio, seria melhor usar o sessionStorage, dessa forma a cada nova "sessão" pegaria somente os dados já atualizados. Claro que para um volume de dados maior que esse é inviável. As vezes vale mais a pena usar o cache do banco.

Existe uma outra ferramenta chamada Redis, eu assisti uma palestra uma vez no InfoQ de uma desenvolvedora do Stackoverflow comentando sobre ele e num tuto de um livro da Casa do Código sobre NodeJS tinha algo sobre ele também. Basicamente armazena a estrutura de dados na memória.

Eu não a domino, mas também pretendo aprender para implementar em breve (tentando excluir o webstorage para esses fins), basicamente - Eu utilizo webStorage para trabalhar com algo no estilo de rascunho, deixo a responsabilidade toda no navegador e depois mando persistir o que o usuário definiu.

:)


Wilson, obrigada pela explicação, como eu expliquei acima, tenho a Web Api e o Site em html5, não seria melhor ao invés de utilizar o html5, criar uma aplicação com o ASP .NET e o MVC com as views, para aproveitar as vantagens que ele possui? Como o Bundle e Minification, um pequeno exemplo.
Responder

18/01/2017

Wilson Neto

Bom, é uma forma de se chegar em redução de request, já que fará uso do cache do servidor.
Dependendo do tamanho da aplicação até vale a pena. :)
Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar