sql >> Databáze >  >> NoSQL >> Redis

Něco jako mezipaměť značek a její dotazování, zda je navrhuje pomocí Redis

Po googlení hodně, našel jsem dobrý příspěvek o něčem, co odpovídá tomu, co jsem žádal zde na StackOverflow:

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

Shrnutí...:

1. Vytvořte páry klíč–hodnota pro značky

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

2. Vytvořte index pro každou možnou kombinaci

Ano, například:

  • "s"
  • "st"
  • "sta"
  • ... a tak dále

    sad mysite:tags:index:s 1 2

    sad mysite:tags:index:st 1 2

    sad mysite:tags:index:sta 1 2

    sad mysite:tags:index:stack 1 2

    sad mysite:tags:index:stacko 1

... a tak dále.

Jde o přidání všech značek, které začínají s , st ...

3. Pomocí SORT získáte návrhy značek:

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

Výsledkem bude:

  • přetečení zásobníku
  • výměna zásobníku

Nebo...seřadit mysite:tags:index:stack- podle nosort získat tagy:*

...vypíše:

  • výměna zásobníku

Zdá se, že je to dobré řešení!




  1. Odstraňte klíč z dokumentu MongoDB pomocí Mongoose

  2. Nelze získat allowDiskUse:True pro práci s pymongo

  3. Zkompilovaný model Mongoose nelze přepsat

  4. MongoDB:Nezískávám správný výsledek pomocí operátoru $geoWithin