Mise en œuvre d'une périodiquement rafraîchissante Cache en Java

Mon cas d'utilisation est de maintenir un cache en mémoire aux données stockées dans une persistance de la DB.

- Je utiliser les données pour remplir une liste/carte d'entrées de l'INTERFACE utilisateur. À un moment donné, les données affichées sur l'INTERFACE utilisateur doit être mis à jour comme il est possible (bien cela peut être fait par la fréquence de rafraîchissement du cache).

Différence majeure entre un cache normal de mise en œuvre, et ce cache est qu'il a besoin d'un bloc d'actualisation de tous les éléments à intervalles réguliers, et il est donc assez différent d'un type de cache LRU.

J'ai besoin de faire cette mise en œuvre en Java, et il sera grand si il existe des cadres qui peuvent être utilisés pour obtenir ce construit autour d'eux.

J'ai exploré le Google Goyave cache de la bibliothèque, mais il est plus adapté à un par entrée d'actualisation plutôt que d'un bloc d'actualisation. Il n'y a aucune Api simple qui ne une actualisation des données sur l'ensemble de la cache.

Toute aide sera très appréciée.

Aussi, si il est possible de progressivement faire l'actualisation, c'est bien parce que la seule limitation qui survient alors que l'actualisation de l'ensemble de la cache, c'est que si le cache est très grand en taille, puis la mémoire du tas doit être au moins deux fois la taille de la mémoire cache afin de charger les nouvelles entrées et de remplacer l'ancienne carte avec le nouveau. Si le cache est incrémentale ou il y a un bloc refresh (actualiser dans l'égalité des tailles) ça va être super.

OriginalL'auteur Abhishek Jain | 2012-10-05