sql >> Database >  >> NoSQL >> Redis

Iets als een tag-cache en het opvragen om ze voor te stellen met Redis

Na googlen veel, ik vond een goede post over iets dat past bij wat ik hier bij StackOverflow vroeg:

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

Samenvatting...:

1. Sleutel/waarden maken voor tags

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

2. Maak een index voor elke mogelijke combinatie

Ja, bijvoorbeeld:

  • "s"
  • "st"
  • "sta"
  • ... enzovoort

    sadd mijnsite:tags:index:s 1 2

    sadd mijnsite:tags:index:st 1 2

    sadd mijnsite:tags:index:sta 1 2

    sadd mijnsite:tags:index:stack 1 2

    sadd mijnsite:tags:index:stacko 1

... enzovoort.

Het gaat om het toevoegen van alle tags die beginnen met s , st ...

3. SORTEREN gebruiken om tagsuggesties te krijgen:

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

Dit zal het volgende opleveren:

  • stapeloverloop
  • stack-uitwisseling

Of...sorteer mijnsite:tags:index:stack- by nosort get tags:*

...zal uitvoeren:

  • stack-uitwisseling

Het lijkt een goede oplossing!




  1. Hoe kan ik objecten uit Redis laten springen als ze realtime worden toegevoegd?

  2. Een MongoDB-database herstellen met mongorestore

  3. StackExchange.Redis met Azure Redis is onbruikbaar traag of veroorzaakt time-outfouten

  4. Retourneer alleen specifieke velden voor een query in Spring Data MongoDB