Ich habe eine Reihe von Ruby-Objekten mit eindeutigen IDs, die ich derzeit in einem Hash zwischenspeichern. Wenn einem Objekt eine ID zugewiesen wird, geht es in den Hash. Der Cache ist vollständig, d. H. Jedes Objekt mit einer ID, die im Ruby-Bereich vorhanden ist, sollte sich ebenfalls im Cache befinden.Ruby-Objekt-Cache
Allerdings habe ich Probleme, einen Weg zu finden, Objekte aus dem Cache zu löschen, sobald sie aus allen anderen Bereichen verschwinden. Dies liegt natürlich daran, dass Objekte, die im Cache enthalten sind, nicht als Müll gesammelt werden.
Gibt es Ansätze für dieses Problem? Die Dokumentation für WeakRef
schlägt eine WeakHash
Klasse vor, aber es scheint nicht akzeptabel für den praktischen Einsatz, obwohl es sehr nahe ist, was ich denke, dass ich für mein Projekt brauche.
Warum wäre es nicht sinnvoll sein? –
WeakRef ist was du brauchst. – Linuxios