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

Как да изтриете групово стотици хиляди ключове със специални знаци в Redis

Ето как го реших, това работи за милиони записи без да се набляга на redis.

WARNING: PLEASE DO NOT TRY THIS AT HOME UNATTENDED AND MAKE SURE TO WEAR 
ALL SAFETY EQUIPMENT NECESSARY FOR THE TASK.

Стъпка 1. Изхвърлете всички необходими ключове от redis във файл, нека извикаме този файл YES_WE_CAN.sh

redis-cli KEYS "StartsWith*" > YES_WE_CAN.sh

Стъпка 2: Отворете файла YES_WE_CAN.sh с vi или vim и натиснете : знак, след което въведете следното, за да замените специалния знак ' :

:%s/'/'"'"'/g

Това ще замени всички ' символи с '"'"' избягваща последователност. (Повярвайте ми, това работи, продължавайте!)

Стъпка 3: Добавяне към всеки низ redis-cli DEL (не забравяйте пространството в края):

:%s/^/redis-cli DEL /g

Стъпка 4: Добавете в края на всеки ред ' знак:

:%s/$/'/g

Стъпка 5: Запазете файла и излезте с помощта на :wq

Стъпка 6: Променете файла YES_WE_CAN.sh към изпълним режим:

chmod +x YES_WE_CAN.sh

Стъпка 7: Стартирайте файла:

./YES_WE_CAN.sh

Насладете се на кафето си, докато скриптът изтрива милионите поискани от вас ключове.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Desktop Redis Vue

  2. Docker-compose - Redis на 0.0.0.0 вместо 127.0.0.1

  3. Диагностициране на неочаквана повреда на redis-сървъра

  4. Как да проверите дали сокетът е жив (свързан) в socket.io с множество възли и socket.io-redis

  5. Публикуване на абониране с nodejs и redis(node_redis)