Ich arbeite an einer Game-Engine in Ziel-c, wo Entitäten on-the-Fly-Anpassung von Attributen für jede Entität haben sollen. Anfangs dachten wir darüber nach, NSDictionary zu verwenden, sind uns aber auch des Ziel-C-Ports von Redis bewusst.Verwendung von Hredis vs NSDictionary
Meine Frage ist, dass wir irgendwelche Leistungsgewinne mit Redis über NSDictionary haben werden?
Entitäten müssen nur im Speicher beibehalten werden, während das Spiel abgespielt wird. Es besteht die Möglichkeit, dass wir das Spiel in Zukunft speichern möchten, dies sollte jedoch keine Auswirkungen auf die Laufzeit haben. Daher ist CoreData möglicherweise nicht so geeignet. Redis wird als Schlüssel-Wert-Speicher beschrieben, der im Speicher verbleibt, mit Optionen, die auf die Festplatte, andere Knoten usw. geschrieben werden können. Wir sind besorgt über die Leistung. – Jaryl
Gehen Sie mit NSDictionary, um der Einfachheit halber zu starten. Wenn es ein Leistungsproblem gibt, messen und adressieren Sie es. Wenn Sie keine Ausnahmesituation haben, würden Sie sich schwer tun, etwas zu entwerfen, bei dem NSDictionary der Leistungsengpass sein wird (sicherlich kann es getan werden - aber das Problem ist auf einem höheren Niveau, fast immer). – bbum
Ich habe keine konkreten Daten (nie Redis verwendet), aber wenn Sie die Frage auf diese Weise einrahmen: "Was würden Sie erwarten, bessere Leistung, die native Schlüssel-Wert-Mechanismus von allen Apple-Frameworks oder ein Objective- C-Client im Gespräch mit einem Universalschlüssel-Datenbankserver? ", Ich weiß, wo ich meine Wetten platzieren würde. –