java - How to cache with weak references when values refer back to keys? -


मैं गवा का कैश & lt; key, value & gt; का उपयोग कर रहा हूं। जब भी कुंजी अधिक दृढ़ता से नहीं पहुंच पाई, तो कैश प्रविष्टि कचरा एकत्रित होनी चाहिए (किसी दिन ...)। CacheBuilder.weakKeys () का उपयोग करना बिल्कुल ऐसा होगा, अगर Value से वापस Key ] का कोई संदर्भ नहीं था। मैं इस संदर्भ को कमजोर बना सकता हूं, लेकिन यह कभी भी अपना मान काफी अमान्य बना सकता है मैं इसे संभाल सकता था, लेकिन मैं नहीं चाहता था।

मैं कमजोर वैल्यू () का उपयोग कर सकता था, लेकिन इससे बहुत जल्दी बेदखली हो सकती है, क्योंकि मेरे मूल्यों का केवल संदर्भ है थोड़े समय।

शायद मैं softValues ​​() , लेकिन SoftReference s का उपयोग कर सकता था।

शायद मैं मिल रहा हूं कुछ गलत तरीके से .... सही समाधान क्या है?

अपडेट

मुझे केवल मान के संदर्भ में प्रत्येक < कोड> कुंजी , लेकिन यह संभव नहीं है क्योंकि कुंजी मेरे नियंत्रण में नहीं है अगर यह था, तो मुझे कोई कैश नहीं चाहिए, कोई कमजोर संदर्भ नहीं, कुछ भी नहीं।

इस तरह, प्रत्येक कुंजी इसके संगत मान पहुंच योग्य रखता है, जो ठीक है 1 । इसके अलावा प्रत्येक मान इसकी कुंजी पहुंच योग्य रखता है, लेकिन यह कोई समस्या नहीं है क्योंकि वहाँ मान के लिए कोई मौजूदा संदर्भ नहीं हैं।

1 कुछ समाप्ति बेहतर होगी लेकिन यह आवश्यक नहीं है।

दुर्भाग्यवश, यह बिना असमर्थनीय है।

Comments

Popular posts from this blog

Python SQLAlchemy:AttributeError: Neither 'Column' object nor 'Comparator' object has an attribute 'schema' -

java - How not to audit a join table and related entities using Hibernate Envers? -

mongodb - CakePHP paginator ignoring order, but only for certain values -