sql >> Databasteknik >  >> NoSQL >> Redis

Något som en tagg-cache och frågar efter den för att föreslå dem att använda Redis

Efter att ha googlat mycket, jag hittade ett bra inlägg om något som passar det jag frågade efter här på StackOverflow:

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

Sammanfattning...:

1. Skapa nyckel-värden för taggar

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

2. Skapa ett index för varje möjlig kombination

Ja, till exempel:

  • "s"
  • "st"
  • "sta"
  • ... och så vidare

    ledsen mysite:tags:index:s 1 2

    ledsen mysite:tags:index:st 1 2

    ledsen mysite:tags:index:sta 1 2

    sadd mysite:tags:index:stack 1 2

    sadd mysite:tags:index:stacko 1

... och så vidare.

Det handlar om att lägga till alla taggar som börjar med s , st ...

3. Använder SORT för att få taggarförslag:

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

Detta kommer att mata ut:

  • stackoverflow
  • stack-exchange

Eller...sortera mysite:tags:index:stack- efter nosort få taggar:*

... kommer att mata ut:

  • stack-exchange

Det verkar vara en bra lösning!




  1. Arbetar med @cache_page() dekoratör i django-redis-cache

  2. Vad är fördelen med Redis-klustring på olika värdar?

  3. Varför får felet mongod död men subsys låst och otillräckligt ledigt utrymme för journalfiler på Linux?

  4. Det går inte att deserialisera PyMongo ObjectId från JSON