2011-01-16 2 views
0

Je travaille sur un moteur de jeu dans l'objectif-c où nous voulons que les entités aient une personnalisation à la volée des attributs pour chaque entité. Initialement, nous avions l'intention d'utiliser NSDictionary, mais nous connaissons également le port Objective-C de Redis.Utilisation de hredis vs NSDictionary

Ma question est que nous aurons des gains de performance en utilisant Redis sur NSDictionary?

Répondre

3

Redis est une solution de persistance. NSDictionary est un magasin de valeurs-clés en mémoire avec des restrictions spécifiques sur les clés et les valeurs.

Les deux sont axés sur la résolution de différents problèmes.

Si vous recadrez la question sur la persistance des graphiques d'objet, alors la réponse est "Core Data", sauf s'il y a une certaine spécificité, le plus souvent cross-plate, besoin d'utiliser autre chose.

+0

Les entités n'ont besoin d'être conservées en mémoire que pendant la lecture du jeu. Il est possible que nous souhaitions enregistrer le jeu à l'avenir, mais cela ne devrait pas affecter les performances d'exécution. Par conséquent, CoreData peut ne pas être approprié. Redis est décrit comme un magasin de valeurs-clés qui persiste en mémoire avec des options à écrire sur le disque, d'autres nœuds, etc. Nous sommes préoccupés par les performances. – Jaryl

+1

Allez avec NSDictionary pour commencer, par souci de simplicité. S'il y a un problème de performance, mesurez-le et adressez-le. Sauf si vous avez une situation exceptionnelle, vous auriez du mal à concevoir quelque chose où NSDictionary sera le goulot d'étranglement des performances (certainement, cela peut être fait - mais le problème est à un niveau plus élevé, presque toujours). – bbum

+0

Je n'ai pas de données concrètes (n'ayant jamais utilisé Redis), mais si vous cadrez la question de cette façon: "Lequel vous attendez-vous à mieux performer, le mécanisme de valeur-clé native utilisé par tous les frameworks d'Apple, ou un C client parle à un serveur de base de données de valeur-clé d'usage général? ", Je sais où je placerais mes paris. –

Questions connexes