Roblox มีตัวเลือกหลายอย่างสำหรับการจัดเก็บข้อมูล ตัวเลือกการจัดเก็บข้อมูลแต่ละอย่างมีข้อดีและข้อเสีย และเหมาะสำหรับกรณีการใช้งานที่แตกต่างกัน ตารางนี้สรุปตัวเลือกที่มีอยู่และให้จุดเปรียบเทียบที่ใกล้เคียงจากบริการเว็บมาตรฐาน
| บริการ | การเก็บข้อมูล | ขอบเขต | การเข้าถึงในเกม | การเปรียบเทียบคลาวด์ |
|---|---|---|---|---|
| ร้านข้อมูล | ถาวร | ข้ามเซิร์ฟเวอร์ | อ่าน-เขียน | ฐานข้อมูล NoSQL |
| ร้านความจำ | สูงสุด 45 วัน | ข้ามเซิร์ฟเวอร์ | อ่าน-เขียน | แคชในหน่วยความจำ |
| การตั้งค่า | ถาวร | ข้ามเซิร์ฟเวอร์ | อ่านเท่านั้น | การตั้งค่าแอปพลิเคชันและฟีเจอร์ฟลาไก |
| ร้านความลับ | ถาวร | ข้ามเซิร์ฟเวอร์ | อ่านเท่านั้น | การจัดการความลับ |
| Luau ในหน่วยความจำ | ระยะเวลาของเซสชัน | เซิร์ฟเวอร์เดียว | อ่าน-เขียน | RAM ของเซิร์ฟเวอร์ |
เมื่อใดควรใช้ร้านข้อมูล
DataStoreService เก็บข้อมูลระยะยาวที่ต้องการให้คงอยู่ระหว่างเซสชัน เช่น ความก้าวหน้าของผู้ใช้หรือไอเทมในคลัง ร้านข้อมูลมีความสอดคล้องต่อเกม ดังนั้นเซิร์ฟเวอร์ทุกตัวสำหรับทุกสถานที่ในเกมจึงสามารถเข้าถึงและเปลี่ยนแปลงข้อมูลเดียวกันได้ มีร้านข้อมูลสองประเภท: มาตรฐานและเรียงลำดับ
ร้านข้อมูลมาตรฐาน สามารถเก็บข้อมูลเช่น ตัวเลข, สตริง, และตารางที่ไม่จำเป็นต้องได้รับการจัดอันดับหรือเรียงลำดับ พวกเขาเก็บข้อมูลในรูปแบบคู่ของกุญแจ-ค่า; แต่ละรายการจะถูกเก็บไว้ภายใต้กุญแจที่ไม่ซ้ำกันภายในร้านข้อมูลของมัน ซึ่งคุณสามารถเรียกคืน, อัปเดต, หรือ ลบ ได้ สำหรับข้อมูลเพิ่มเติม ดูที่ ร้านข้อมูล.
ร้านข้อมูลเรียงลำดับ สามารถเก็บข้อมูลได้เฉพาะตัวเลขเท่านั้น แต่ละรายการจะถูกเก็บไว้ภายใต้กุญแจที่ไม่ซ้ำกันภายในร้านข้อมูลของมัน ซึ่งคุณสามารถเรียกคืน, อัปเดต, หรือ ลบ ได้ คุณสามารถจัดอันดับและเรียงลำดับข้อมูลนี้ตามจำนวนและเรียกคืนมันในลำดับที่เพิ่มขึ้นหรือลดลงตามค่าตัวเลขที่จัดเก็บ สำหรับข้อมูลเพิ่มเติม ดูที่ ร้านข้อมูลเรียงลำดับ.
| ร้านข้อมูลมาตรฐาน | ร้านข้อมูลเรียงลำดับ | |
|---|---|---|
| ประเภทข้อมูล | ตัวเลข, สตริง, บูลีน, และตาราง. | เฉพาะตัวเลขเท่านั้น. |
| กรณีการใช้งานทั่วไป | ความก้าวหน้าของผู้ใช้, ไอเทมในคลัง, และการตั้งค่าเกม. | ระบบการจัดอันดับแบบถาวรตลอดเวลาและกระดานคะแนน แม้ว่าแตกต่างจากกระดานคะแนนในร้านความจำ, ข้อมูลกระดานคะแนนนี้เป็นถาวร. |
| การสำรองข้อมูลเวอร์ชันก่อนหน้า | จัดการเวอร์ชันก่อนหน้าของข้อมูลโดยอัตโนมัติเป็นเวลา 30 วัน. | ไม่จัดการเวอร์ชันก่อนหน้าของข้อมูล. |
เมื่อใดควรใช้ร้านความจำ
MemoryStoreService เป็นบริการที่มีการส่งข้อมูลสูงและมีความหน่วงต่ำ ที่เก็บข้อมูลชั่วคราวที่ต้องการการอัปเดตหรือการเข้าถึงบ่อยๆ เช่น กระดานคะแนนทั่วโลกหรือคิวยุคตรง ด้วยร้านความจำ เซิร์ฟเวอร์ทุกตัวสำหรับทุกสถานที่ในเกมสามารถเข้าถึงและเปลี่ยนแปลงข้อมูลเดียวกันได้อย่างรวดเร็วและบ่อยครั้ง ข้อมูลในร้านความจำหมดอายุหลังจากช่วงเวลาหนึ่งสูงสุด 45 วัน
หากคุณต้องการอ่านค่าจำนวนน้อยอย่างรวดเร็ว (ไม่เขียน) ข้ามเซิร์ฟเวอร์ทั้งหมด การตั้งค่า configs เป็นตัวเลือกที่ดีกว่า ร้านความจำไม่เหมาะสมเท่าการตั้งค่าเมื่อเข้าถึงกุญแจเดียวหรือพาร์ทิชันหนึ่งบ่อยๆ
แม้ว่าร้านความจำจะเก็บข้อมูลชั่วคราว แต่พวกเขายังรองรับฟีเจอร์ถาวรเช่นตลาดทั่วโลก ตลาดนั้นเป็นถาวร แต่สินค้าที่ขายภายในมีวันหมดอายุ
| ร้านความจำ | |
|---|---|
| ประเภทข้อมูล | ตัวเลข, สตริง, บูลีน, และตารางที่ไม่จำเป็นต้องคงอยู่เกิน 45 วัน. |
| กรณีการใช้งานทั่วไป | การจับคู่ตามความสามารถ, สถานะการจับคู่สำหรับเกมหลายผู้เล่น. |
| กระดานคะแนนรายวันและรายเดือน. |
เมื่อใดควรใช้การตั้งค่า
การตั้งค่า ช่วยให้คุณอัปเดตตัวแปรในเกมในเวลาจริงโดยไม่ต้องรีสตาร์ทเซิร์ฟเวอร์ พวกเขาเหมาะสำหรับฟีเจอร์ฟลาไก และค่าภายในเกมใดๆ ที่คุณหวังจะปรับแต่งระยะยาวหรือ ทดลอง กับมัน
- การตั้งค้าเป็นแบบอ่านเท่านั้นจากภายในเกม—คุณแก้ไขพวกเขาที่ Creator Hub หรือใน Roblox Studio—ดังนั้นพวกเขาจึงไม่ใช้กรณีการใช้งานเดียวกันเหมือนร้านข้อมูลและร้านความจำ
- การเปลี่ยนแปลงการตั้งค่าจะส่งไปในช่วงเวลาห้านาที; การเปลี่ยนแปลงข้อมูลและร้านความจำจะเป็นไปอย่างรวดเร็วมากกว่า
| การตั้งค่า | |
|---|---|
| ประเภทข้อมูล | ตัวเลข, สตริง, บูลีน, และอ็อบเจกต์ JSON. |
| กรณีการใช้งานทั่วไป | เปิดเซฟใหม่, ปิดโหมดเกมที่มีอยู่ในช่วงเวลาจำกัด, เริ่มกิจกรรมวันหยุด. |
| สุขภาพศัตรู, ความเสียหายของอาวุธ, ราคาสินค้า, ตัวคูณเกม, ข้อความทักทาย. |
เมื่อใดควรใช้ร้านความลับ
ใช้ร้านความลับ สำหรับเกมของคุณเพื่อเก็บ API keys, รหัสผ่าน, และ access tokens ที่คุณใช้ในการตรวจสอบกับบริการภายนอก การเก็บค่าเหล่านี้ในร้านข้อมูลมีความเสี่ยงด้านความปลอดภัยที่ไม่จำเป็น
| ร้านความลับ | |
|---|---|
| ประเภทข้อมูล | สตริง. |
| กรณีการใช้งานทั่วไป | API keys, รหัสผ่าน, และ access tokens สำหรับบริการวิเคราะห์หรือบริการเพลง. |
เมื่อใดควรใช้การจัดเก็บในหน่วยความจำใน Luau
ใช้การจัดเก็บในหน่วยความจำใน Luau เพื่อเก็บข้อมูลชั่วคราวที่ต้องการการเข้าถึงด้วยความล่าช้าที่น้อยที่สุดและปราศจากค่าใช้จ่ายในการทำบริการภายนอก การจัดเก็บนี้ในตัวของ Luau และไม่ต้องการการตั้งค่าใดๆ
| การจัดเก็บในหน่วยความจำใน Luau | |
|---|---|
| ประเภทข้อมูล | ตัวเลข, สตริง, บูลีน, และตาราง. |
| กรณีการใช้งานทั่วไป | ข้อมูลที่เกี่ยวข้องเฉพาะกับเซสชันเซิร์ฟเวอร์เดียวและไม่จำเป็นต้องรักษา, เช่น ผลกระทบสถานะหรือคะแนนชั่วคราวที่รีเซ็ตเมื่อผู้ใช้ออกจากเกม. |
| ค่าที่เปลี่ยนแปลงบ่อย, เช่น เคาน์เตอร์, ตัวจับเวลา, ธงสถานะ, หรือแถบสุขภาพ. | |
| ข้อมูลที่ขับเคลื่อนเกมลอจิก ซึ่งต้องเข้าถึงได้ทันที เช่น ตัวแปรชั่วคราวหรือสุขภาพปัจจุบันของศัตรู. |