Roblox menawarkan beberapa opsi untuk penyimpanan data. Setiap opsi penyimpanan memiliki pro dan kontra serta sesuai untuk berbagai kasus penggunaan. Tabel ini merangkum opsi yang tersedia dan memberikan titik perbandingan terdekat dari layanan web standar.
| Layanan | Persistensi | Lingkup | Akses dalam game | Perbandingan cloud |
|---|---|---|---|---|
| Penyimpanan data | Permanen | Lintas-server | Baca-tulis | Basis data NoSQL |
| Penyimpanan memori | Maksimum 45 hari | Lintas-server | Baca-tulis | Cache dalam memori |
| Konfigurasi | Permanen | Lintas-server | Baca-saja | Konfigurasi aplikasi dan bendera fitur |
| Penyimpanan rahasia | Permanen | Lintas-server | Baca-saja | Manajemen rahasia |
| Luau dalam memori | Durasi sesi | Server tunggal | Baca-tulis | RAM server |
Kapan menggunakan penyimpanan data
DataStoreService menyimpan data jangka panjang yang perlu bertahan antar sesi, seperti kemajuan pengguna atau item inventaris. Penyimpanan data konsisten per game, sehingga setiap server untuk setiap lokasi dalam sebuah game dapat mengakses dan mengubah data yang sama. Ada dua jenis penyimpanan data: standar dan terurut.
Penyimpanan data standar dapat menyimpan data seperti angka, string, dan tabel yang tidak perlu diranking atau diurutkan. Mereka menyimpan data sebagai pasangan kunci-nilai; setiap entri disimpan di bawah kunci yang unik dalam penyimpanan datanya dan dapat diambil, diperbarui, atau dihapus. Untuk informasi lebih lanjut, lihat Penyimpanan data.
Penyimpanan data terurut hanya dapat menyimpan angka. Setiap entri disimpan di bawah kunci yang unik dalam penyimpanan datanya dan dapat diambil, diperbarui, atau dihapus. Anda dapat meranking dan mengurutkan data ini secara numerik dan mengambilnya dalam urutan menaik atau menurun berdasarkan nilai numerik yang disimpan. Untuk informasi lebih lanjut, lihat Penyimpanan data terurut.
| Penyimpanan data standar | Penyimpanan data terurut | |
|---|---|---|
| Tipe data | Angka, string, boolean, dan tabel. | Hanya angka. |
| Kasus penggunaan umum | Kemajuan pengguna, item inventaris, dan pengaturan game. | Sistem ranking permanen dan papan peringkat sepanjang waktu. Tidak seperti papan peringkat di penyimpanan memori, data papan peringkat ini permanen. |
| Cadangan versi sebelumnya | Secara otomatis mengelola versi sebelumnya dari data Anda selama 30 hari. | Tidak mengelola versi sebelumnya dari data Anda. |
Kapan menggunakan penyimpanan memori
MemoryStoreService adalah layanan dengan throughput tinggi dan latensi rendah yang menyimpan data sementara yang perlu diperbarui atau diakses secara teratur, seperti papan peringkat global atau antrean pencocokan. Dengan penyimpanan memori, setiap server untuk setiap lokasi dalam sebuah game dapat mengakses dan mengubah data yang sama dengan cepat dan sering. Data dalam penyimpanan memori akan kedaluwarsa setelah periode tertentu, hingga 45 hari.
Jika Anda perlu membaca dengan cepat (bukan menulis ke) sejumlah kecil nilai di semua server, konfigurasi adalah pilihan yang lebih baik. Penyimpanan memori tidak seefisien konfigurasi saat mengakses satu kunci atau partisi secara sering.
Meskipun penyimpanan memori menyimpan data sementara, mereka juga mendukung fitur permanen seperti pasar global. Pasar adalah permanen, tetapi barang yang dijual di dalamnya memiliki tanggal kedaluwarsa.
| Penyimpanan memori | |
|---|---|
| Tipe data | Angka, string, boolean, dan tabel yang tidak perlu bertahan lebih dari 45 hari. |
| Kasus penggunaan umum | Pencocokan berbasis keterampilan, status pertandingan untuk game multiplayer. |
| Papan peringkat harian dan bulanan. |
Kapan menggunakan konfigurasi
Konfigurasi memungkinkan Anda memperbarui variabel dalam game secara real-time tanpa merestart server. Mereka ideal untuk bendera fitur dan nilai dalam-game yang ingin Anda sesuaikan seiring waktu atau eksperimen dengan.
- Konfigurasi dibaca-saja dari dalam game—Anda mengubahnya di Creator Hub atau di Roblox Studio—jadi mereka tidak melayani kasus penggunaan yang sama seperti penyimpanan data dan penyimpanan memori.
- Perubahan pada konfigurasi diterapkan dalam waktu lima menit; perubahan pada penyimpanan data dan memori lebih cepat.
| Konfigurasi | |
|---|---|
| Tipe data | Angka, string, boolean, dan objek JSON. |
| Kasus penggunaan umum | Mengaktifkan dungeon baru, menonaktifkan mode game terbatas waktu, memulai acara liburan. |
| Kesehatan musuh, kerusakan senjata, harga item, pengali game, pesan sambutan. |
Kapan menggunakan penyimpanan rahasia
Gunakan penyimpanan rahasia untuk game Anda untuk menyimpan API key, kata sandi, dan token akses yang Anda gunakan untuk mengautentikasi dengan layanan eksternal. Menyimpan nilai ini dalam penyimpanan data menghadirkan risiko keamanan yang tidak perlu.
| Penyimpanan rahasia | |
|---|---|
| Tipe data | String. |
| Kasus penggunaan umum | API key, kata sandi, dan token akses untuk layanan analitik atau musik. |
Kapan menggunakan penyimpanan dalam memori di Luau
Gunakan penyimpanan dalam memori di Luau untuk menyimpan data sementara yang perlu diakses dengan latensi minimal dan tanpa biaya membuat panggilan ke layanan eksternal. Penyimpanan ini terintegrasi ke dalam Luau dan tidak memerlukan pengaturan.
| Penyimpanan dalam memori di Luau | |
|---|---|
| Tipe data | Angka, string, boolean, dan tabel. |
| Kasus penggunaan umum | Data yang hanya relevan untuk sesi server tunggal dan tidak perlu dipersistenkan, seperti efek status atau poin sementara yang diatur ulang ketika pengguna meninggalkan game. |
| Nilai yang sering berubah, seperti penghitung, pengatur waktu, bendera status, atau bilah kesehatan. | |
| Data yang menggerakkan logika game, yang perlu diakses segera, seperti variabel sementara atau kesehatan musuh saat ini. |