2011-10-03 7 views
0

Mon site affiche actuellement le contenu afin de rang avec un algorithme similaire à ceci: rang = les points/âgeComment optimiser/mettre à l'épreuve cet algorithme?

Le seul problème est que il y a de plus en plus de contenu ajouté il ne sera pas pratique pour générer un contenu classer pour chaque morceau de contenu sur chaque demande de page. Nous ne pouvons pas mettre le rang dans la base de données car il change chaque seconde.

Quelqu'un a-t-il des idées sur la façon d'optimiser cela?

Dans le code pseudo:

content_items = getContentFromDb(); 
foreach(content_items -> item){ 
    calRank(item); 
} 
sort(content_items); 
foreach(content_items -> item){ 
    display(item); 
} 
+0

Désolé, j'ai changé le titre. – Undefined

+0

@sehe Bizarre. C'est changé sur le mien. J'ai aussi ajouté du pseudo code. – Undefined

Répondre

1

Là vous allez, la façon dont vous montrer maintenant le problème, il est tout à fait évident qui est principalement une question de mise en cache des informations de classement.

Si vous voulez partager les classements calculés à travers une ferme, je suggère une base de données clé/valeur simple. Il y en a beaucoup, mais malheureusement, je n'en ai pas utilisé sérieusement. Je vous suggère de lire sur NoSql et peut-être regarder memcached, couchdb, mongodb.

Cependant, pour l'instant, je chercherais simplement à mettre en cache les classements. Période. Optimiser si nécessaire

Questions connexes