วิธีการล้างฐานข้อมูล redis?


164

ฉันได้เล่นกับ redis (และเพิ่มความสนุกกับมัน) ในช่วงไม่กี่วันที่ผ่านมาและฉันต้องการที่จะรู้ว่ามีวิธีการล้างฐานข้อมูล (ลบชุดคีย์ที่มีอยู่ .... ) ได้อย่างง่ายดาย .
ในระหว่างการทดสอบของฉันฉันสร้างหลายชุดพร้อมสมาชิกจำนวนมากแม้แต่ชุดที่ฉันจำไม่ได้ (ฉันจะแสดงรายการเหล่านั้นได้อย่างไร)
มีความคิดเกี่ยวกับวิธีการกำจัดพวกเขาทั้งหมดหรือไม่

คำตอบ:


197

คุณมีสองทางเลือก:

  • FLUSHDB - ล้างฐานข้อมูลที่ใช้งานอยู่ในปัจจุบัน
  • FLUSHALL - ล้างฐานข้อมูลที่มีอยู่ทั้งหมด

136

ระวังที่นี่

FlushDB ลบคีย์ทั้งหมดในฐานข้อมูลปัจจุบันในขณะที่ FlushALL ลบคีย์ทั้งหมดในฐานข้อมูลทั้งหมดในโฮสต์ปัจจุบัน


มีข้อเสียในการใช้ FlushDB เพื่อล้างฐานข้อมูลเฉพาะจากรหัสการผลิตหรือไม่
Alex Naspo

1
@AlexNaspo อาจเป็นปัญหาได้เนื่องจากฐานข้อมูลของคุณมีขนาดใหญ่ขึ้นก็จะใช้เวลานานขึ้นในการล้างข้อมูล เนื่องจากฐานข้อมูลที่มีหมายเลข (แชร์) ได้รับการจัดการโดยเซิร์ฟเวอร์ Redis เดียวกันสิ่งนี้อาจบล็อกฐานข้อมูลอื่นของคุณในช่วงเวลานั้น หากเป็นไปได้ให้งดเว้นการใช้ฐานข้อมูลที่ใช้ร่วมกันเนื่องจากสิ่งนั้นและเพราะพวกเขาไม่สามารถพิสูจน์ได้ในอนาคต (ไม่รองรับใน v3) ดูที่นี่สำหรับรายละเอียดเพิ่มเติม: redislabs.com/blog/…
Itamar Haber

@ItamarHaber เป็นวิธีที่มีประสิทธิภาพที่สุดในการลบหรือหมดอายุชุดคีย์ที่ตรงกับรูปแบบเฉพาะคืออะไร?
Alex Naspo

1
@AlexNaspo ถ้าคุณใช้ v2.8 + คอมโบของ SCAN และ DEL น่าจะใช้กลอุบายได้ดี ดูที่นี่สำหรับสคริปต์ทุบตีที่ทำได้: stackoverflow.com/a/23399125/3160475
Itamar Haber

$ redis-cliจากนั้นเลือกฐานข้อมูล ฉันเลือก 0 > select 0และลบคีย์ทั้งหมดของ db 0> FLUSHDB
sagar junnarkar


30

tldr: flushdbล้างฐานข้อมูลเดียวและflushallล้างฐานข้อมูลทั้งหมด

ล้างปัจจุบัน

ลบฐานข้อมูลเริ่มต้นหรือฐานข้อมูลที่เลือกในปัจจุบัน (มักจะเป็น `0) ด้วย

redis-cli flushdb

ล้างข้อมูลจำเพาะ

ลบฐานข้อมูล Redis เฉพาะด้วย (เช่น8เป็นฐานข้อมูลเป้าหมายของฉัน):

redis-cli -n 8 flushdb 

ลบทั้งหมด

ลบฐานข้อมูล Redis ทั้งหมดด้วย

redis-cli flushall

2

มีคำตอบที่ถูกต้อง แต่ฉันต้องการเพิ่มอีกหนึ่งตัวเลือก (ต้องหยุดทำงาน):

  1. หยุด Redis
  2. ลบไฟล์ RDB (ค้นหาตำแหน่งใน redis.conf)
  3. เริ่ม Redis

0

เปิด Redis cli ของคุณและมีสองตัวเลือกที่เป็นไปได้ที่คุณสามารถใช้:

FLUSHDB - ลบคีย์ทั้งหมดของฐานข้อมูลที่เลือกในปัจจุบัน ฟลัชฮอลล์ - ลบคีย์ทั้งหมดของฐานข้อมูลที่มีอยู่ทั้งหมดไม่ใช่เฉพาะที่เลือกในปัจจุบัน

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.