Redis
 sql >> Base de données >  >> NoSQL >> Redis

Quelque chose comme un cache de balises et l'interroger pour les suggérer à l'aide de Redis

Après googler beaucoup, j'ai trouvé un bon article sur quelque chose qui correspond à ce que je demandais ici à StackOverflow :

  • http://robots.thoughtbot.com/post/48851498400/redis-partial-word-match-you-auto-complete-me

Résumé... :

1. Créer des valeurs-clés pour les balises

sadd mysite:tags "stackoverflow" "stack-exchange" "question" "about-redis"

2. Créer un index pour chaque combinaison possible

Oui, par exemple :

  • "s"
  • "st"
  • "sta"
  • ... et ainsi de suite

    triste monsite:tags:index:s 1 2

    triste monsite:tags:index:st 1 2

    triste monsite:tags:index:sta 1 2

    triste monsite:tags:index:stack 1 2

    triste monsite:tags:index:stacko 1

... et ainsi de suite.

Il s'agit d'ajouter toutes les balises qui commencent par s , er ...

3. Utilisation de SORT pour obtenir des suggestions de balises :

sort mysite:tags:index:s by nosort get tags:*

Cela affichera :

  • débordement de pile
  • échange de pile

Ou... trier mysite:tags:index:stack- by nosort get tags:*

... affichera :

  • échange de pile

Cela semble être une bonne solution !