Ho un numero di oggetti Ruby con ID univoci che attualmente sto memorizzando nella cache di un hash. Quando a un oggetto viene assegnato un ID, esso entra nell'Hash. La cache è completa, vale a dire che ogni oggetto con un ID che esiste nell'ambito di Ruby dovrebbe essere anche nella cache.Ruby object cache
Tuttavia, ho difficoltà a trovare un modo per eliminare gli oggetti dalla cache una volta che scompaiono da tutti gli altri ambiti. Questo è, naturalmente, perché gli oggetti contenuti nella cache non saranno raccolti.
Ci sono approcci a questo problema? La documentazione per WeakRef
suggerisce una classe WeakHash
, ma non sembra accettabile per l'uso pratico, sebbene sia molto vicina a ciò che penso di cui ho bisogno per il mio progetto.
Perché Non sarebbe pratico? –
WeakRef è ciò di cui hai bisogno. – Linuxios