Question

  • Je prévois d'utiliser Redis (ServiceStack) comme base de données entière pour l'application Web.
  • Je peux insérer 76000 enregistrements en 7,4 secondes.
  • Mais en utilisant une connexion unique (la durée de durée de vie d'objet de la divulgation est l'application),
  • J'ai utilisé la méthode générique de set pas de stockage (énorme différence de performances)

J'avais utilisé le temps d'objet par request pour l'entité framework objectContext.

Alors, quelle est la meilleure stratégie pour l'objet-durée de vie dans l'application Web (ASP.NET MVC) pour Redis (ServiceStack) ..

Ou redis n'est pas un projet mature pour 100 tables de serveur SQL (liées les unes aux autres dans divers)

Je suis totalement confus .. Je pense stocker des entités dans DB4O (je suis effrayé 'DB4O est un slogan DB "Java" aussi), Relations in Redis ?!

Et pour soutenir inclure le concept dans EF4.

Mon projet total aura 1 000 000 entités, 100 000 000 relations! (J'ai 3 ans d'expérience en entité 1 à 4)

Était-ce utile?

La solution

Le client ServiceStack Redis comprend 2 gestionnaires de connexion en filetage:

  • Envoleur le manager - La mise en œuvre du pool de connexions est-elle la mise en œuvre de la diviliété. Recommandé lors de l'accès à Redis-Server à distance.

  • BasicRedisclientManager - Renvoie une nouvelle instance de division à chaque fois, recommandée si Redis-Server est sur le même serveur que votre application Web ASP.NET.

Remarque Redis n'est pas un SGBDR, il s'agit d'un serveur de structures de données offrant un accès atomique aux valeurs de clés côté serveur, des ensembles, des ensembles triés, des hachages et des listes. Vous devez maintenir vos propres relations en utilisant des index personnalisés, vous pouvez en voir un exemple code source de la Redisstackoverflow application de démonstration.

Vous devriez également vérifier Concevoir une application de blog simple avec redis.

Sinon le Servicestack C # Wiki de divalie est le meilleur endroit pour la documentation sur OW pour utiliser le client C # Redis.

Autres conseils

Vous ne voulez pas utiliser un seul objet client redis pour tout - cela produit des résultats vraiment intéressants si vous avez plus d'une page de chargement à la fois. Vous pouvez utiliser une sorte de regroupement de connexions si la surcharge de création de connexions est un problème, mais ce n'est probablement pas nécessaire.

Le magasin et les méthodes connexes font partie de ServiceStack conçu pour faciliter certains scénarios simples en stockant les informations de type ainsi que les données réelles - si ce n'est pas ce dont vous avez besoin, ne l'utilisez pas.

Redis peut prendre en charge un ensemble de données de cette taille, mais n'oubliez pas qu'il n'est en aucun cas une base de données relationnelle - tout sera modélisé de manière très différente de ce à quoi vous êtes utilisé dans SQL, et les couches d'abstraction comme EF ne vous aideront pas. Vous devez vraiment comprendre vos données, ce que vous devez en faire, et comment les tâches requises mappent aux opérations de bas niveau qui redis peuvent faire très rapidement.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top