2017-09-05 6 views
0

J'ai une application Java Spring Boot qui utilise Redis pour le stockage. J'ai fait une bonne quantité de recherche sur le web mais je ne trouve pas un texte facile à digérer qui explique en détail les ramifications des valeurs à utiliser/choisir pour le paramètre clé par rapport au paramètre clé de hachage dans un Redis put (clé, clé de hachage, objet) instruction. J'utilise le magasin Redis pour stocker des objets de gestion de session de courte durée spécifiques à un ID utilisateur spécifique, et cet ID utilisateur est garanti unique. La valeur d'objet est une chaîne codée JSON pour un objet de classe particulière:Quelle est la différence entre les paramètres key et key key utilisés dans une instruction Redis put()?

// String format template for storing objects of this class. 
public static final String STORE_MULTI_SELECT_CHOICES = "%s:store:multi_select_choices" 

// Store it in Redis for access during the next interaction with the user. 
// The key is the hash key prefix for the MultiSelectChoices class, followed 
// by the user ID. 
String key = String.format(MultiSelectChoices.STORE_MULTI_SELECT_CHOICES, userId) 

// The hash key is just the user ID for now. 
String hashKey = userId 

// Serialize the multi-select session management object to a JSON string. 
Gson gson = new Gson(); 
String jsonRedisValue = gson.toJson(multiSelect); 
redisTemplate.opsForHash().put(key, hashKey, jsonRedisValue) 

Quelle est la différence entre ces deux paramètres et savez-vous d'un document qui explique les ramifications de collision performance et la valeur des différents choix? De plus, étant donné la nature de mon opération de stockage, dois-je m'inquiéter des fragments Redis ou d'autres détails de niveau expert ou puis-je raisonnablement les ignorer pour l'instant? L'application une fois mise en production, fera face à une charge de trafic élevé.

Répondre

-1

Vous parlez essentiellement de deux opérations redis différentes, je ne connais pas la réponse spécifique pour spring boot, mais en parlant de redis, le hashkey est nécessaire pour une opération HMSET, qui est fondamentalement une clé-clé à deux clés stocker, tandis que l'opération SET régulière est la valeur-clé à un seul œil. Vérifiez les opérations dans REDIS commands