Comment dois-je utiliser Redis comme un cache pour SQL Server?

J'ai eu quelques données tabulaires en raison de problèmes sans rapport s'avère trop lent pour sortir de SQL Server en temps réel. Comme nous obtenons plus d'utilisateurs, ce n'est qu'empirer les choses, alors je suis la pensée de l'utilisation de Redis comme un front-end cache pour stocker les utilisateurs de tableaux paginable de données.

Ces données pourraient devenir obsolètes après environ 10 minutes, après quoi je voudrais obtenir le record de nouveau et de mettre en dans le Redis.

L'application est un .NET MVC app. Je pensais que lorsque l'utilisateur ouvre une session dans l'application, les données sont extraites de la base de données (prend environ 10 secondes) et mettre dans le Redis prêtes à être consommées par le MVC client. Je voudrais mettre une date d'expiration sur les données et ensuite lorsqu'il devient obsolète, il obtiendra refetched à partir de la base de données SQL Server.

Tout cela est-il raisonnable? Je suis un peu peu peur que l':

  1. L'utilisateur pourrait accéder à la page avant que les données soient dans le Redis
  2. Si Redis tombe en panne ou ne pas répondre, j'ai besoin de s'assurer que le ViewModel peut se remplir directement à partir de SQL SErver sans Redis être là
Victoria, vous pouvez trouver ce post intéressant. Autour de 15 minutes, il montre une approche possible pour l'intégration de Redis.
merci je vais jeter un oeil
pouvez-vous ajouter cela comme une réponse que je souhaite l'accepter, c'est la solution parfaite que je cherchais
Avez-vous envisagé de mettre en œuvre le cache-côté motif?
Aussi, êtes-vous à l'aide de Entity Framework? Vous pouvez envisager d'utiliser EntityFramework.Étendu. C'est par défaut de mécanisme de mise en cache vous permettra de mettre en cache des données localement sur votre serveur d'applications web, ce qui est assez rapide. Toutefois, si vous voulez être en mesure à l'horizontale à l'échelle de votre solution, vous pouvez développer une coutume de la mise en cache du fournisseur pour qu'il l'utilise. github.com/loresoft/EntityFramework.Extended

OriginalL'auteur Victoria | 2012-01-30