You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@mahout.apache.org by Helder Martins <he...@corp.terra.com.br> on 2013/07/31 20:33:45 UTC

Invalidating CassandraDataModel caches

Hi,

I've implemented an online item-based recommender using CassandraDataModel and a CachingRecommender wrapper, and I failed to notice different recommendations coming up after a user sets a new preference in the database. Delving deeper, I noticed that CachingRecommender clears the cache for that user ID and sets the preference to the underlying DataModel. CassandraDataModel however does not clear its user/items/preferences cache for that user/item ID, and I think that this may be the cause for why I can't see new recommendations coming up.

Shouldn't CassandraDataModel invalidates its cache, something like the code below?

-------------
public void setPreference(long userID, long itemID, float value) {
...

    userCache.remove(userID);
    itemIDsFromUserCache.remove(userID);
    userIDsFromItemCache.remove(itemID);
    itemCache.remove(itemID);

}
-------------

Regards,

--

Atenciosamente
Helder Martins
Arquitetura do Portal e Sistemas de Backend
+55 (51) 3284-4475
Terra

________________________________
Esta mensagem e seus anexos se dirigem exclusivamente ao seu destinatário, podem conter informação privilegiada ou confidencial e são de uso exclusivo da pessoa ou entidade de destino. Se não for destinatário desta mensagem, fica notificado de que a leitura, utilização, divulgação e/ou cópia sem autorização pode estar proibida em virtude da legislação vigente. Se recebeu esta mensagem por engano, pedimos que nos o comunique imediatamente por esta mesma via e, em seguida, apague-a.

Este mensaje y sus adjuntos se dirigen exclusivamente a su destinatario, puede contener información privilegiada o confidencial y es para uso exclusivo de la persona o entidad de destino. Si no es usted él destinatario indicado, queda notificado de que la lectura, utilización, divulgación y/o copia sin autorización puede estar prohibida en virtud de la legislación vigente. Si ha recibido este mensaje por error, le pedimos que nos lo comunique inmediatamente por esta misma vía y proceda a su exclusión.

The information contained in this transmissión is privileged and confidential information intended only for the use of the individual or entity named above. If the reader of this message is not the intended recipient, you are hereby notified that any dissemination, distribution or copying of this communication is strictly prohibited. If you have received this transmission in error, do not read it. Please immediately reply to the sender that you have received this communication in error and then delete it.