Ich habe eine "Punktzahl", die ich für mehrere Elemente für mehrere Benutzer berechnen muss. Jeder Benutzer hat viele viele Punkte, die für ihn einzigartig sind, und das Berechnen kann zeit-/prozessorintensiv sein. (Die Langsamkeit ist nicht am Ende der Datenbank). Um dies zu bewältigen, verwende ich Memcached. Ohne Memcache würden einige Seiten 10 Sekunden zum Laden benötigen! Memcache scheint gut zu funktionieren, weil die Scores sehr kleine Informationen sind, aber eine Weile brauchen, um sie zu berechnen. Ich setze den Schlüssel tatsächlich so, dass er niemals abläuft, und dann lösche ich ihn unter gelegentlichen Umständen, die sich ändern.Ok Memcache auf diese Weise zu verwenden? oder brauchen Sie eine Systemrearchitektur?
Ich betrete eine neue Phase mit diesem Produkt und überlege mir, das Ganze neu zu gestalten. Es scheint eine Möglichkeit zu geben, die Werte iterativ zu berechnen und sie dann in einem lokalen Feld zu speichern. Es wird ein bisschen ähnlich zu dem, was jetzt passiert, nur die Wert-Updates werden schneller passieren, und der Cache wird in der realen Datenbank sein, und die Verwaltung wird ein bisschen mehr Arbeit sein (ich denke, ich würde immer noch Memcache oben verwenden davon aber).
Wenn es darauf ankommt, ist alles in Python/Django.
Beabsichtigt der Cache wie diese schlechte Praxis? Ist es o.k? Warum? Soll ich Dinge neu konstruieren?