A priori, il faudrait stocker, pour chaque couple (utilisateur, topic), le nombre de messages du topic lorsque le user l'a consulté la dernière fois.
A l'affichage, il suffirait de comparer cette valeur avec le nombre de messages du topic pour déterminer s'il y en a eu de nouveaux
A moins que vous ne voyiez une méthode plus efficace