คำถามและคำตอบสัมภาษณ์ Redis 10 อันดับแรก (2025)
1) เรดิสคืออะไร?
Redis เป็นที่เก็บข้อมูลและแคชคีย์-ค่าขั้นสูง นอกจากนี้ยังเรียกอีกอย่างว่าเซิร์ฟเวอร์โครงสร้างข้อมูล เนื่องจากคีย์ไม่เพียงแต่ประกอบด้วยสตริงเท่านั้น แต่ยังรวมถึงแฮช ชุด รายการ และชุดที่เรียงลำดับด้วย บริษัทที่ใช้ Redis ได้แก่ StackOverflow, Twitter, Github เป็นต้นดาวน์โหลดไฟล์ PDF ฟรี: คำถามและคำตอบสัมภาษณ์ Redis Cache
2) อธิบายคุณสมบัติการจำลองแบบของ Redis หรือไม่
Redis รองรับการจำลองต้นแบบแบบง่ายไปจนถึงการจำลองแบบทาส เมื่อสร้างความสัมพันธ์แล้ว ข้อมูลจากต้นแบบจะถูกถ่ายโอนไปยังสเลฟ เมื่อเสร็จแล้ว การเปลี่ยนแปลงทั้งหมดที่เกิดขึ้นกับต้นแบบจะทำซ้ำกับทาส3) Memcached และ Redis แตกต่างกันอย่างไร?
Redis | memcached |
|
|
4) ข้อดีของการใช้ Redis คืออะไร?
ข้อดีของการใช้ Redis คือ- มันให้ความเร็วสูง
- รองรับการล็อคฝั่งเซิร์ฟเวอร์
- มี lib ไคลเอนต์มากมาย
- มีระดับคำสั่ง Atomic Operation (การดำเนินการ tx)
5) Redis มีข้อจำกัดอะไรบ้าง?
- เป็นเกลียวเดี่ยว
- มีการสนับสนุนลูกค้าที่จำกัดเพื่อการแฮชที่สม่ำเสมอ
- มีค่าใช้จ่ายจำนวนมากสำหรับการคงอยู่
- มันไม่ได้ถูกนำไปใช้อย่างกว้างขวาง
6) แสดงรายการคีย์การทำงานของ Redis หรือไม่
รวมถึงคีย์การทำงานของ Redis- พิมพ์คีย์
- คีย์ TTL
- ลวดลายคีย์ส
- หมดอายุวินาทีที่สำคัญ
- หมดอายุการประทับเวลาที่สำคัญ
- มีคีย์อยู่
- ปุ่ม DEL
7) โมดูล PHP ใดที่สามารถใช้กับ Redis ได้
ในโมดูล PHP PREdis เป็นที่นิยมมากกว่า Redid PHP Binding หรือ Resident8) Redis ให้ความเร็วและความทนทานทั้งคู่หรือไม่
ไม่ Redis จงใจลดความทนทานลงเพื่อเพิ่มความเร็ว ใน Redis ในกรณีที่ระบบล้มเหลวหรือขัดข้อง Redis จะเขียนลงดิสก์ แต่อาจล้าหลังและสูญเสียข้อมูลที่ไม่ได้จัดเก็บ9) คุณจะปรับปรุงความทนทานใน Redis ได้อย่างไร?
เพื่อปรับปรุงความทนทานของ Redis “ต่อท้ายไฟล์เท่านั้น” สามารถกำหนดค่าได้โดยใช้ข้อมูล fsync บนดิสก์- Fsync () ทุกครั้งที่มีการเพิ่มคำสั่งใหม่ลงในไฟล์บันทึกการต่อท้าย: ปลอดภัย แต่ช้ามาก
- Fysnc() หนึ่งครั้งทุกวินาที: รวดเร็ว แต่คุณอาจสูญเสียข้อมูล 1 วินาทีหากระบบล้มเหลว
- Never fsync(): มันเป็นวิธีการที่ไม่ปลอดภัย และข้อมูลของคุณอยู่ในมือแล้ว ระบบปฏิบัติการ
10) พูดถึงสิ่งที่คุณต้องดูแลขณะใช้ Redis มีอะไรบ้าง
ในขณะที่ใช้ Redis เราต้องดูแล- เลือกวิธีการที่สอดคล้องกันในการตั้งชื่อและนำหน้าคีย์ของคุณ จัดการเนมสเปซของคุณ
- สร้าง "รีจิสทรี" ของคำนำหน้าคีย์ที่แมปเอกสารภายในแต่ละฉบับของคุณสำหรับแอปพลิเคชันที่ "เป็นเจ้าของ"
- สำหรับทุกคลาสที่คุณใส่ลงในโครงสร้างพื้นฐาน Redis ของคุณ: ออกแบบ ใช้งาน และทดสอบกลไกสำหรับการรวบรวมขยะหรือการย้ายข้อมูลไปยังพื้นที่จัดเก็บข้อมูลถาวร
- ออกแบบ ใช้งาน และทดสอบไลบรารีชาร์ดดิ้งก่อนที่คุณจะลงทุนจำนวนมากในการปรับใช้แอปพลิเคชันของคุณ และตรวจสอบให้แน่ใจว่าคุณเก็บรีจิสทรีของ “ชาร์ด” ไว้บนเซิร์ฟเวอร์แต่ละเครื่อง
- แยกร้านค้า K/V ทั้งหมดของคุณและการดำเนินการที่เกี่ยวข้องออกเป็นห้องสมุด/API หรือบริการของคุณเอง
คำถามข้อ 7 และ 10 ซ้ำกัน บางทีคำถามหนึ่งอาจเกี่ยวกับกรณีการใช้งานที่เป็นไปได้สำหรับ Redis
แก้ไขข้อผิดพลาด! ขอบคุณที่นำสิ่งนี้มาแจ้งให้ทราบ