Je souhaite utiliser la mise en cache de données sur mon application .net C#. Jusqu'à présent, j'ai ajouté la mise en cache de données et ajouté des dépendances de cache sql sur des tables spécifiques. Mais ce n'est pas assez bon. Ces tables seront mises à jour trop fréquemment mais pas pertinentes pour beaucoup d'objets mis en cache. Cela rendra la mise en cache des données quasiment inutile car elle sera fréquemment vidée. Je veux implémenter la dépendance du cache sql sur des lignes spécifiques pour chaque objet. Comment puis je faire ça?Comment créer une dépendance de cache sql spécifique à une ligne?
Répondre
Vous devez comprendre le fonctionnement de SqlDependency. Vous subscribe a result set and get notified when that result set has changed. Vous pouvez vous abonner à n'importe quel type de jeu de résultats, c'est-à-dire n'importe quel type de requête, à condition qu'il soit conforme au restrictions of the supported statements. Cela ne fait vraiment aucune différence si c'est une table ou une vue.
Donc, techniquement, vous pouvez vous abonner à des notifications spécifiques en soumettant une requête spécifique pour cette ligne, c'est à dire. avec une clause WHERE codée en dur. Vous devrez modifier votre code pour extraire et mettre en cache uniquement les données nécessaires rangée par ligne plutôt que de récupérer des tables entières et de les mettre en mémoire cache. Heck, vous auriez à faire de toute façon si vous êtes au moins préoccupé par la taille de ces tables. La mise en cache de tables entières ne doit être effectuée que pour les données de catalogue et de référence qui changent rarement ou pas du tout.
Vous pouvez également choisir de récupérer et mettre en cache des partitions de données, par exemple. des plages de clés individuelles (disons entre 'A' et 'D', 'E' et 'H', etc.) et vous abonner pour être notifié pour cette partition de données spécifique
Si vous voulez understand how SqlDependency works, mon blog contient des articles , y compris common programming pitfalls of SqlDependency et deployment problems with SqlDependency.
BTW quand je dis « hardcoded WHERE » Je ne veux pas coder les clés de recherche, vous pouvez utiliser @parameters OK, ce que je voulais dire, c'est que vous devez ajouter une clause WHERE pour limiter le résultat à vos lignes d'intérêt. –
- 1. Injecter une dépendance à Linq à Sql
- 2. Comment créer une dépendance sql sur une table dans sql server 2000 et asp.net 2.0?
- 3. Supprimer une image spécifique du cache?
- 4. Créer une dépendance en utilisant shell et%?
- 5. Comment passer à une ligne d'entrée spécifique en Perl?
- 6. Dépendance du cache Sql à l'aide du bloc de mise en cache EntLib
- 7. Dépendance Cache Off provoquant exception
- 8. Comment obtenir une référence à une ligne de table avec une valeur spécifique dans jQuery
- 9. Version spécifique à Maven d'une dépendance d'instantané
- 10. Supprimer une ligne spécifique d'un fichier texte?
- 11. ASP.NET Datagrid - masquer une ligne/colonne spécifique
- 12. Comment puis-je supprimer ou sélectionner une ligne d'une table ayant un numéro de ligne spécifique?
- 13. Puis-je utiliser la dépendance du cache SQL avec SubSonic?
- 14. Comment identifier une dépendance manquante
- 15. Dépendance du cache SQL Server 2005 - existe-t-il une limite au non. des tables enregistrées?
- 16. Comment injecter une dépendance changeante
- 17. Comment mime supprimer une ligne spécifique dans un UITableView?
- 18. Comment insérer une ligne sur une ligne spécifique dans plusieurs fichiers sous Unix?
- 19. Puis-je créer une propriété de dépendance en lecture seule?
- 20. Comment désactiver l'avertissement dans xcode sur une ligne spécifique?
- 21. Dupliquer une ligne dans SQL?
- 22. WinSxS: Comment prendre la dépendance sur une version spécifique de gdiplus.dll?
- 23. Comment déterminer quelle ligne contient un nombre décimal spécifique est dans une colonne sql
- 24. Attacher une source à une dépendance de portée système
- 25. Comment lier JMX à une interface spécifique?
- 26. 2 requêtes SQL en une ligne - comment?
- 27. Comment créer une application SQL Compact 2008
- 28. Une étape post-construction peut-elle m'amener à une ligne de code spécifique?
- 29. Créer un catalogue fulltext dans une seule ligne de SQL (à partir d'un programme d'installation)
- 30. Comment créer une transaction LINQ to SQL?
La documentation aspnet_regsql ne mentionne que les tables, mais avez-vous essayé d'utiliser contre une vue? Je doute que cela fonctionnera, mais il pourrait être vaut le coup. –