Para almacenar datos, puede usar almacenamiento de datos con el DataStoreService o almacenamiento de memoria con el 2> Class.MemoryStoreService2> .
Alternativamente, también puede usar los tipos y variables de Lua para almacenar datos en el memoria en Lua, sin usar los servicios de almacenamiento de datos o memoria.
Cuándo usar almacenamiento de datos
El DataStoreService almacena datos de largo plazo que necesitan durar entre sesiones, como el progreso del usuario o los elementos del inventario. Los almacenes de datos son consistentes por experiencia, por lo que cada servidor para cada lugar dentro de una experiencia puede acceder y cambiar los mismos datos. Hay dos tipos de almacenes de datos: estándar y ordenado. Los almacenes de datos estándar pueden almacenar datos como números, cadenas y tablas que no necesitan ser clasificados o ordenados. Este almacenamiento se realiza como pares de valores de clave, donde cada entrada se almacena debajo de una llave que es única dentro de su almacén de datos y que puedes actualización, actualizar o eliminar.
Los almacenes de datos ordenados sólo pueden almacenar números. Cada entrada se almacena debajo de una llave que es única dentro de su almacén de datos y que puedes recuperar, actualizar o actualización. Puedes clasificar y ordenar este dato numéricamente y recuperarlo en orden ascendente o descendente según los valores numéricos almacenados. Para obtener más información, see Almacenes de datos ordenados .
Almacenes de datos estándar > | Almacenes de datos ordenados | |
---|---|---|
Tipo de datos | Números, cadenas, booleanos y tablas. | Sólo números. |
Ejemplos de uso común | Progreso del usuario, artículos de inventario y configuración de experiencia. | Sistemas de clasificación de todos los tiempos y tablas de clasificación. A diferencia de las tablas de clasificación en los almacenes de memoria, los datos de esta tabla de clasificación son permanentes. |
Respaldo de la versión pasada | Administrar automáticamente las versiones previas de sus datos durante 30 días. | No gestiona las versiones previas de sus datos. |
Cuándo usar almacenamiento de memoria
El MemoryStoreService es un servicio de alto rendimiento y bajo ancho de banda que almacena datos temporales que se necesitan para actualizar o acceder con frecuencia a datos actualizados o accedidos con frecuencia, como tablas de clasificación globales o colas de matchmaking. Con los almacenes de memoria, cada servidor para cada lugar dentro de una experiencia puede acceder y cambiar los mismos datos con rapidez y frecuencia. Los datos en un almacén de memoria expir
Aunque los almacenes de memoria almacenan datos temporales, también soportan funciones permanentes como un mercado global. El mercado es permanente, pero los elementos para la venta dentro de él tienen una fecha de caducidad.
Almacenamiento de memoria | |
---|---|
Tipo de datos | Números, cadenas, booleanos y tablas que no necesitan persistir más de 45 días. |
Ejemplos de uso común | emparejamientobasado en habilidades, estados de partida para juegos multijugador, tablas de clasificación diarias y mensuales. |
Cuándo usar almacenamiento en memoria en Lua
Puede usar almacenamiento en memoria en Lua para almacenar datos temporales que se necesitan para acceder con menos latencia y sin el costo de hacer llamadas de servicio externas a almacenamiento de datos o almacenamiento de memoria. No hay pasos adicionales requeridos para configurar el almacenamiento en memoria como está construido por defecto en Lua.
Almacenamiento en memoria en Lua | ||
---|---|---|
Tipo de datos | Números, cadenas, booleanos y tablas. | |
Ejemplos de uso común | Los datos que solo son relevantes para una sola sesión de servidor y que puedes actualizar instantáneamente sin preocuparte por la persistencia. | Ejemplo: Buffs activos, puntos temporales y progreso de misiones que se restablecen cuando el usuario salga de la experiencia. |
Los valores que cambian con frecuencia, como contadores, temporizadores o banderas de estado. | Ejemplo: Barra de salud de un usuario que se actualiza con cada golpe. | |
Evitar las limitaciones de la tasa de uso para las operaciones de alta frecuencia en experiencias activas grandes. | Ejemplo: una experiencia con decenas de usuarios interactuando con el mismo objeto. | |
Los datos que impulsan la lógica del juego, como variables temporales o estados de potenciador donde el acceso rápido sin demora es esencial. | Ejemplo: El estado de ataque actual de un usuario o la salud actual de un enemigo, que debe ser accesible instantáneamente y sin la latencia asociada a la llamada de servicios externos como almacenes de datos o memoria. | |
Interacciones multijugador que solo importan dentro de un solo servidor. | Ejemplo: Un objetivo compartido en una experiencia de misión cooperativa. |