Présentation des clés de cache et de la mise en cache des données
NCache utilise une structure clé-valeur améliorée pour le stockage des objets et la mise en cache des données. Ainsi, alors que les magasins clé-valeur conventionnels contiennent une clé de chaîne par rapport à une valeur de chaîne, NCache autorise les types de données primitifs, les objets personnalisés, NCache- des objets spécifiques (CacheItems), des structures de données et JSON comme valeurs de chaque clé. Par conséquent, chaque élément ajouté au cache doit avoir une clé de chaîne unique.
Notes
Cette fonctionnalité est également disponible dans NCache Professional.
Clés de cache dans la mise en cache des données
Cette structure clé-valeur est avantageuse pour récupérer des objets du cache. Alors que NCache prend en charge plusieurs méthodes de récupération de données de cache - comme l'interrogation et le balisage - les clés récupèrent efficacement les éléments associés sans exécuter de requêtes sur l'ensemble du cache.
Entrer les clés NCache ont les propriétés suivantes:
- Unique - aucune clé en double n'est autorisée
- Basé sur des chaînes uniquement
- Chaîne valide - les chaînes nulles/vides ne sont pas autorisées
- Sensible aux majuscules et minuscules
Conseil
Bonnes pratiques pour nommer les clés :
- Fournissez des noms significatifs à vos clés qui décrivent les données associées. Par exemple, vous oublierez probablement à quoi "key1" est associé par rapport à une clé nommée Produit: 1001. Ce nom de clé se décrit comme un élément de produit avec ID de produit 1001.
- Pour plusieurs classes, vous pouvez ajouter un préfixe avant le nom de la clé pour marquer la clé de la classe. Par exemple, vos données sont telles que Produit et de Témoignages les objets peuvent avoir "1001" comme clé. Ceux-ci peuvent être au format [NomClasse]_[NomClé] pour qu'ils soient Product_1001 et de Client_1001 pour clarification.
- Pour les noms de clé avec plusieurs mots, vous pouvez utiliser n'importe quel caractère pour le rendre lisible, quelques-uns étant les plus courants
_ , & : - =
. Par exemple, Article_produit : 1001.
Affinité d'emplacement entre les éléments
NCache fournit un mécanisme pour stocker des données dans le cache qui crée une affinité entre les éléments de différentes classes. Vous pouvez stocker des éléments de différents types sur le même nœud pour économiser le coût correspondant lors de la récupération d'éléments avec des clés similaires. Ce mécanisme mappe les entrées similaires au niveau du back-end, accélérant ainsi encore la mise en cache et la récupération des données.
L'affinité d'emplacement peut être activée manuellement lors de la saisie de données dans le cache. La clé de l'élément doit être la même à l'intérieur des accolades {}
comme dans l'autre article. Par exemple, pour créer une affinité géographique entre Produit et de Commander objets, vous pouvez spécifier la clé Produit: 1001 pour un objet Product dans le cache puis créez une affinité de la commande associée en spécifiant Produit: 1001 dans les {}
. Alors le Commander la clé d'objet peut être spécifiée comme Commande_{Produit : 1001}. Cela garantira que le produit et les commandes existent dans le même nœud.
Données prises en charge dans la mise en cache des données
Les objets stockés dans le cache pour la mise en cache des données peuvent être :
Types de données primitifs
Notes
Cette fonctionnalité est également disponible dans NCache Professional.
NCache prend en charge tous les types de données primitifs .NET :
octet/octet | int/uint | court/ucourt | long/long | objet |
carboniser | un magnifique | flotter | double | décimal |
bool | DateTime | Durée |
Objets de classe personnalisés
Notes
Cette fonctionnalité est également disponible dans NCache Professional.
Les données peuvent également être n'importe quel objet de classe sérialisable personnalisé, par exemple, Produit objets de classe. Les données d'objet personnalisé must être sérialisable, sinon NCache lèvera une exception de sérialisation.
NCache fournit deux manières de sérialiser des objets personnalisés :
Sérialisation native : vous pouvez utiliser le .NET fourni [Sérialisable] attribut dans votre classe personnalisée.
Sérialisation compacte: NCache fournit un cadre de sérialisation personnalisé pour les objets personnalisés. Ce cadre fournit une sérialisation rentable pour les classes enregistrées de manière dynamique.
NCacheObjets CacheItem de
Notes
Cette fonctionnalité est également disponible dans NCache Professional.
Les données peuvent également être encapsulées dans NCache's CacheItem classe. CacheItem vous permet d'ajouter des métadonnées supplémentaires avec la valeur mise en cache. Ces métadonnées définissent les propriétés de l'élément telles que l'expiration, les dépendances, etc.
Vous pouvez en savoir plus sur les propriétés de CacheItem ici.
Structures de données
NCache fournit désormais une prise en charge exclusive pour l'ajout/la mise à jour de structures de données, où les données sont manipulées directement sur le serveur, ce qui améliore les performances. NCache prend en charge les structures de données suivantes :
Comme toutes les données dans NCache, ceux-ci peuvent être interrogés, verrouillés, expirés et plus encore. Pour en savoir plus sur l'utilisation des structures de données dans le cache, reportez-vous à Structures de données en cache.
JSON
NCache prend également en charge l'ajout/la modification de données de cache sous forme de JSON. JSON offre une flexibilité dans la récupération des données, car les objets personnalisés peuvent être récupérés en tant qu'objets JSON et JSON en tant qu'objets personnalisés. Les éléments suivants sont pris en charge pour JSON :
Semblables aux CacheItems, les données JSON peuvent être interrogées, verrouillées, expirées, etc. Pour en savoir plus sur l'utilisation de JSON dans NCache, faire référence à Données de cache au format JSON.
Voir aussi
Comment se connecter au cache
Ajouter des données au cache
Récupérer les données de cache existantes
Supprimer les données du cache
Créer un cache