Redis
 sql >> Cơ Sở Dữ Liệu >  >> NoSQL >> Redis

Một cái gì đó giống như một bộ nhớ cache của thẻ và truy vấn nó để đề xuất chúng bằng cách sử dụng Redis

Sau googling rất nhiều, tôi đã tìm thấy một bài đăng hay về điều gì đó phù hợp với những gì tôi đang yêu cầu ở đây tại StackOverflow:

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

Tóm tắt ...:

1. Tạo khóa-giá trị cho thẻ

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

2. Tạo chỉ mục cho từng kết hợp có thể có

Có, ví dụ:

  • "s"
  • "st"
  • "sta"
  • ... và như vậy

    sadd mysite:tags:index:s 1 2

    sadd mysite:tags:index:st 1 2

    sadd mysite:tags:index:sta 1 2

    sadd mysite:tags:index:stack 1 2

    sadd mysite:tags:index:stacko 1

... và như vậy.

Đó là về việc thêm tất cả các thẻ bắt đầu bằng s , st ...

3. Sử dụng SORT để nhận các đề xuất về thẻ:

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

Điều này sẽ xuất ra:

  • stackoverflow
  • ngăn xếp trao đổi

Hoặc ... sắp xếp mysite:tags:index:stack- by nosort get tags:*

... sẽ xuất:

  • ngăn xếp trao đổi

Nó có vẻ là một giải pháp tốt!




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Sao lưu AOF và RDB trong redis

  2. Tôi có cần thoát phiên bản ứng dụng khách redis nút của mình bằng cách sử dụng .quit () không?

  3. Redis pubsub là gì và tôi sử dụng nó như thế nào?

  4. Cách hủy công việc đã xếp hàng trong Laravel hoặc Redis

  5. Memcache vs Bộ nhớ Java