Redis
 sql >> база данни >  >> NoSQL >> Redis

Как да изтриете ключове, съответстващи на шаблон в Redis Cluster

Отговорите на този въпрос се опитват да премахнат няколко ключа в един DEL . Въпреки това, ключовете, съответстващи на дадения шаблон, може да НЕ се намират в един и същ слот и Redis Cluster НЕ поддържа команда с множество клавиши, ако тези ключове не принадлежат на един и същ слот. Ето защо получавате съобщението за грешка.

За да отстраните този проблем, трябва да DEL тези клавиши един по един:

redis-cli --scan --pattern "foo*" |xargs -L 1 redis-cli del

-L опция за xargs командата определя броя на ключовете за изтриване. Трябва да посочите тази опция като 1 .

За да премахнете всички ключове, съответстващи на шаблона, трябва също да изпълните горната команда за всеки главен възел във вашия клъстер.

ЗАБЕЛЕЖКА

  1. С тази команда трябва да изтриете тези ключове един по един и това може да е много бавно. Трябва да помислите за препроектиране на вашата база данни и да използвате хеш маркери за да накарате клавишите, съответстващи на шаблона, да принадлежат на един и същи слот. За да можете да премахнете тези ключове с един DEL .

  2. Или SCAN или KEYS командите са неефективни, особено KEYS не трябва да се използва в производството. Трябва да обмислите изграждането на индекс за тези ключове.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Разлика между Redis AOF и Tarantool WAL log

  2. ModuleNotFoundError:Няма модул с име 'grp' на Windows

  3. Как да изпълним Persistence Store в Redis?

  4. Unicode в python

  5. използвайте node-redis с възел 8 util.promisify