รายการ Redis มีการจัดทำดัชนีตาม 0 องค์ประกอบแรกถูกกำหนดให้เป็น 0 ไทย ดัชนี; อันที่สองอยู่ที่1 เซนต์ ดัชนี เป็นต้น การเข้าถึงองค์ประกอบส่วนท้ายด้วยดัชนีเป็นไปได้ด้วยดัชนีเชิงลบ เช่น องค์ประกอบสุดท้ายถูกสร้างดัชนีเป็น -1 องค์ประกอบสุดท้ายคือ -2 เป็นต้น
องค์ประกอบรายการสามารถตั้งค่าได้ที่ดัชนีที่กำหนดโดยใช้คำสั่ง LSET ซึ่งอธิบายไว้ในส่วนต่อไปนี้
คำสั่ง LSET
คำสั่ง LSET ตั้งค่าองค์ประกอบที่ดัชนีที่กำหนดของรายการ Redis ที่จัดเก็บไว้ที่คีย์ที่ระบุ มีไวยากรณ์ง่าย ๆ ดังต่อไปนี้:
องค์ประกอบดัชนี LSET list_key
list_key : คีย์ของรายการ Redis
ดัชนี : ดัชนีที่คุณต้องการตั้งค่าองค์ประกอบ
ธาตุ : องค์ประกอบสตริงที่จะตั้งค่าที่ดัชนีที่ระบุ
คำสั่งนี้ส่งคืนสตริงอย่างง่าย 'OK' หากองค์ประกอบได้รับการตั้งค่าอย่างถูกต้อง เมื่อใดก็ตามที่พบดัชนีที่อยู่นอกช่วง คำสั่ง LSET จะส่งกลับข้อผิดพลาด
กรณีการใช้งานที่พบบ่อยที่สุดรายการหนึ่งของรายการ Redis คือการจัดเก็บโพสต์โซเชียลมีเดียและการอัปเดตสำหรับผู้ใช้แต่ละราย คำสั่ง LSET มีบทบาทสำคัญที่นั่น ตามที่กล่าวไว้ในหัวข้อต่อไปนี้
ใช้กรณี – อัปเดตโพสต์โซเชียลมีเดีย
สมมติว่าเป็นเหตุการณ์ที่บริษัทดูแลเว็บไซต์โซเชียลมีเดียของตนเองโดยมีผู้ใช้หลายพันคนโพสต์โพสต์และสถานะอย่างแข็งขัน พวกเขาระบุว่ารายการ Redis เป็นผู้สมัครที่เหมาะสมในการเก็บโพสต์และสถานะที่มีการแทรกบ่อยครั้ง และรายการ Redis ดำเนินการแทรกในเวลาคงที่
มาสร้างรายการ Redis สำหรับ ID ผู้ใช้ 100 ที่กำหนดซึ่งจะใช้ในการจัดเก็บโพสต์และข้อความสถานะของผู้ใช้รายนั้น เราจะใช้คำสั่ง LPUSH เพื่อใส่โพสต์จำลองและข้อความสถานะสำหรับ ID ผู้ใช้ 100
LPUSH social-media:user:100 '2022-08-01:วันที่ดีในการเริ่มต้น'LPUSH social-media:user:100 '2022-08-05:เริ่มงานใหม่ที่ linuxhint'
LPUSH social-media:user:100 '2022-08-06:ปาร์ตี้สุดมันส์วันนี้'
LPUSH social-media:user:100 '2022-08-07:วันแย่ๆ!!!'
เอาท์พุต
สมมติว่าผู้ใช้ที่มี ID ผู้ใช้ 100 จะอัปเดตหนึ่งในโพสต์เก่าของเขา สมมติว่าโพสต์ที่สามที่เขาโพสต์ต้องมีการแก้ไข คำสั่ง LSET สามารถทำได้โดยง่าย ดังแสดงในภาพต่อไปนี้
เนื่องจากองค์ประกอบที่สามอยู่ที่ดัชนี 2 จากส่วนหัว เราจะทำการอัพเดทดังนี้:
LSET social-media:user:100 2 'เริ่มบทบาทใหม่ในฐานะนักเขียนที่ LinuxHint'เอาท์พุต
ตามที่คาดไว้ คำสั่งดำเนินการได้สำเร็จ และองค์ประกอบที่ดัชนีที่สองได้รับการอัปเดต มาตรวจสอบรายชื่อกันใหม่ดังนี้
เราสามารถทำเช่นเดียวกันโดยระบุดัชนีจากส่วนท้ายดังนี้:
LSET social-media:user:100 -2 'เริ่มบทบาทใหม่ในฐานะนักเขียนที่ LinuxHint'
ตามที่คาดไว้ องค์ประกอบที่สามได้รับการตั้งค่าเป็นสตริงใหม่ “งานเริ่มต้นที่ LinuxHINT”
หากคุณระบุดัชนีที่อยู่นอกช่วง จะทำให้เกิดข้อผิดพลาดดังที่แสดงต่อไปนี้:
LSET social-media:user:100 6 'เริ่มทำงานที่ LinuxHINT'เอาท์พุต
บทสรุป
คำสั่ง LSET ตั้งค่าองค์ประกอบรายการที่ดัชนีที่ระบุเป็นองค์ประกอบที่กำหนดของรายการ Redis ที่จัดเก็บไว้ในคีย์ที่กำหนด เนื่องจากดัชนีรายการ Redis เริ่มต้นจาก 0 จึงเป็นองค์ประกอบแรก ดัชนี 1 เป็นองค์ประกอบที่สองของรายการ เป็นต้น ตามที่กล่าวไว้ ดัชนีขององค์ประกอบที่เริ่มต้นจากส่วนท้ายสามารถระบุได้โดยใช้ตัวเลขติดลบ เช่น -1 คือองค์ประกอบสุดท้าย -2 คือองค์ประกอบที่อยู่ก่อนองค์ประกอบสุดท้าย เป็นต้น เมื่อใดก็ตามที่ดัชนีที่ไม่มีอยู่ถูกส่งผ่าน คำสั่ง LSET จะส่งคืนข้อผิดพลาด นอกจากนี้ คำสั่งนี้ส่งคืนเอาต์พุตสตริงอย่างง่ายจากการดำเนินการที่สำเร็จ