Ich frage mich, was ist die ultimative Lösung für ein Cache-Management. Angenommen, ich habe einen einzelnen Server und eine unbegrenzte Anzahl von Clients, die damit verbunden sind. sendet der Client weiterhin Suchanfragen an den Server (lässt die Suchanforderung des Clients -'x 'aufrufen) und der Server antwortet dem Client mit "ein bisschen". jetzt, um meine Suchmaschine zu beschleunigen Ich möchte die beliebtesten Anfragen (x) im Cache-Speicher und ihre Antworten (y) zu speichern. (Beachten Sie, dass es für jedes x wichtig ist, das die Clients an den Server senden, sie müssen das gleiche y erhalten). Ich habe auch eine Datenbank, die alle vorherigen Anfragen (x, y, z-Anzahl der Male x angefordert) enthalten.Cache-Verwaltung in der Suchmaschine
Ich habe einige Probleme erfüllt, während die Cache-Aktualisierung:
, wie ich meine am wenigsten beliebte Anfrage bleibt innerhalb des Cache, um es sagen kann, in welcher Index zu ersetzen, wenn ich einen populäreren Abfrage finden in meiner Datenbank (ohne den gesamten Cache zu scannen).
Wie sollte ich den Cache aktualisieren? (scannen Sie einfach die ganze Datenbank? Das ist ziemlich teuer Operation)
3. Wie viel Anfrage Elemente sollte mein Cache enthalten?
4.Du denkst du eine HashMap ist eine effiziente Datenstruktur, um einen Cache zu verwalten? (Ich arbeite mit Java).
5.i hat darüber nachgedacht, meinen Cache basierend auf den letzten T- (einige) Abfragen zu aktualisieren und ihn nicht zu aktualisieren, während alle Anforderungen in der Datenbank durchlaufen werden. weil es vielleicht Anfragen gibt, die früher sehr populär waren und sie nicht mehr populär sind, und wenn es eine neue populäre Anfrage gibt, kann es lange dauern, bis sie in den Cache auf der Grundlage der Anzahl der Shows gelangt (sie muss auch schneller sein) Ich muss nicht die ganze Datenbank scannen). Ist das eine legitime Möglichkeit, einen Cache zu verwalten?
Diese Frage ist zu weit für StackOverflow. Außerdem fragt die Frage nicht nach Hilfe mit Code, den Sie bereits geschrieben haben; es ist eher konzeptionell. – CConard96