A 글로벌 데이터 저장소 는 데이터를 저장하고 로드하기 위한 함수를 노출합니다 DataStoreService.
데이터 저장소에 대한 자세한 가이드는 데이터 저장소를 참조하십시오. 데이터 구조, 관리, 오류 처리 등
정렬된 데이터 저장소는 버전 관리 및 메타데이터를 지원하지 않으므로 DataStoreKeyInfo 는 항상 nil 에 있는 키에 대해 OrderedDataStore입니다.버전 관리 및 메타데이터 지원이 필요한 경우 DataStore를 사용하십시오.
요약
메서드
지정된 데이터 저장소의 키 값과 DataStoreKeyInfo 인스턴스를 반환합니다.
- IncrementAsync(key : string,delta : number,userIds : Array,options : DataStoreIncrementOptions):Variant
제공된 금액으로 키의 값을 증가시킵니다(둘 다 정수여야 함).
지정된 키를 제거하면서 액세스 가능한 버전을 유지합니다.
지정된 키에 대한 데이터 저장소 값을 설정합니다.
지정된 콜백 함수에서 새 값으로 키 값을 업데이트합니다.
속성
메서드
GetAsync
이 함수는 제공된 키의 최신 값과 DataStoreKeyInfo 인스턴스를 반환합니다.키가 존재하지 않거나 최신 버전이 삭제된 것으로 표시되면 두 반환 값이 모두 nil가 됩니다.
키는 처음 읽음후 4초 동안 로컬에 캐시됩니다.이 4초 내에 GlobalDataStore:GetAsync() 호출은 캐시에서 값을 반환합니다.키의 변경 GlobalDataStore:SetAsync() 또는 GlobalDataStore:UpdateAsync() 은 캐시에 즉시 적용되고 4초 타이머를 재시작합니다.
최신 버전 이전의 버전과 같은 특정 버전을 가져오려면 DataStore:GetVersionAsync()를 사용하십시오.
매개 변수
값이 요청된 키 이름.데이터 저장소에 액세스하는 경우 DataStoreOptions.AllScopes 가 DataStoreService:GetDataStore()를 통해 진실로 설정되었으면, 이 키 이름은 "scope/key"와 같이 원래 범위와 함께 붙여야 합니다.
반환
지정된 키와 버전 번호, 생성된 날짜 및 시간, 버전을 검색하고 메타데이터를 검색하는 인스턴스가 포함된 데이터 저장소의 엔트리 값과 버전을 검색하고 메타데이터를 검색하는 함수.
IncrementAsync
이 함수는 제공된 금액으로 키의 값을 증가시킵니다(둘 다 정수여야 함).
GlobalDataStores 있는 값은 버전화 에 설명된 것처럼 버전이 지정됩니다. 버전화에 따라.OrderedDataStores 버전 관리를 지원하지 않으므로 주문된 데이터 저장소 키에서 이 메서드를 호출하면 현재 값이 증가된 값으로 덮어쓰고 이전 버전을 액세스할 수 없게 만듭니다.
매개 변수
값을 업데이트할 키 이름.데이터 저장소에 액세스하는 경우 DataStoreOptions.AllScopes 가 DataStoreService:GetDataStore()를 통해 진실로 설정되었으면, 이 키 이름은 "scope/key"와 같이 원래 범위와 함께 붙여야 합니다.
현재 값을 증가시킬 금액.
(선택적) DataStoreIncrementOptions 여러 추가 매개변수를 사용자 지정 메타데이터로 결합하고 향후 확장성을 허용하는 인스턴스.
반환
지정된 키로 데이터 저장소에 있는 항목의 업데이트된 값.
RemoveAsync
이 함수는 새로운 "묘비" 버전의 키를 만들어 지정된 키를 삭제하도록 표시합니다.이 전에는 제거 호출 이전의 최신 버전을 반환합니다.
이 함수를 통해 키가 제거된 후, GlobalDataStore:GetAsync() 키 호출은 반환됩니다 nil.키의 이전 버전은 DataStore:ListVersionsAsync() 및 DataStore:GetVersionAsync()을 통해 액세스할 수 있으며, 만료되지 않은 것으로 가정합니다.
OrderedDataStore는 버전 관리를 지원하지 않으므로 키 RemoveAsync()에서 OrderedDataStore을 호출하면 영구적으로 삭제됩니다.
제거된 개체는 30일 후 영구적으로 삭제됩니다.
이전 값이 이미 GlobalDataStore:RemoveAsync() 또는 DataStore:RemoveVersionAsync()를 통해 삭제되었으면 함수는 값에 대해 nil , nil 및 DataStoreKeyInfo를 각각 반환합니다.
매개 변수
제거할 키 이름.데이터 저장소에 액세스하는 경우 DataStoreOptions.AllScopes 가 DataStoreService:GetDataStore()를 통해 진실로 설정되었으면, 이 키 이름은 "scope/key"와 같이 원래 범위와 함께 붙여야 합니다.
반환
삭제 전 데이터 저장소의 값과 버전 번호, 생성 날짜 및 시간을 포함하는 인스턴스, 버전을 검색하고 메타데이터를 검색하는 함수를 포함합니다.
SetAsync
이 함수는 최신 값 UserIds 및 지정된 키에 대한 메타데이터를 설정합니다.
GlobalDataStores 있는 값은 버전화 에 설명된 것처럼 버전이 지정됩니다. 버전화에 따라.OrderedDataStores 버전 관리를 지원하지 않으므로 순서대로 데이터 저장소 키에서 이 메서드를 호출하면 현재 값이 덮어쓰고 이전 버전이 액세스할 수 없게 됩니다.
현재 값에 변경 사항이 없더라도 메타데이터 정의는 항상 값으로 업데이트되어야 하며, 그렇지 않으면 현재 값이 손실됩니다.
데이터 저장소에 저장되는 모든 문자열은 유효해야 합니다 UTF-8.UTF-8에서는 127보다 큰 값은 다중 바이트 코드포인트를 인코딩하는 데 전적으로 사용되므로 127보다 큰 단일 바이트는 UTF-8이 유효하지 않으며 GlobalDataStore:SetAsync() 시도가 실패합니다.
설정 vs. 업데이트
GlobalDataStore:SetAsync()는 특정 키의 빠른 업데이트에 가장 적합하며 쓰기 제한에만 계산됩니다.그러나 두 서버가 동시에 동일한 키를 설정하려고 시도하면 데이터 불일치가 발생할 수 있습니다.GlobalDataStore:UpdateAsync()는 변경하기 전에 현재 키 값(마지막으로 업데이트된 서버에서)을 읽기 때문에 다중 서버 시도를 처리하는 데 더 안전합니다.그러나 읽기 전에 읽기 때문에 약간 느리고, 읽기와 쓰기 제한 모두에 대해 계산됩니다.
매개 변수
값을 설정할 키 이름.데이터 저장소에 액세스하는 경우 DataStoreOptions.AllScopes 가 DataStoreService:GetDataStore()를 통해 진실로 설정되었으면, 이 키 이름은 "scope/key"와 같이 원래 범위와 함께 붙여야 합니다.
데이터 저장소 키가 설정될 값.
(선택적) DataStoreSetOptions 키에 대한 메타데이터 사양을 허용하는 인스턴스.
반환
새로 생성된 버전의 버전 식별자. GetVersionAsync()를 사용하여 키 정보를 검색하거나 RemoveVersionAsync()를 사용하여 제거할 수 있습니다.
UpdateAsync
이 함수는 데이터 저장소에서 키의 값과 메타데이터를 검색하고 두 번째 매개변수를 통해 지정된 콜백 함수로 새 값으로 업데이트합니다.콜백이 nil 를 반환하면 쓰기 작업이 취소되고 값이 변경되지 않습니다.
GlobalDataStores 있는 값은 버전화 에 설명된 것처럼 버전이 지정됩니다. 버전화에 따라.OrderedDataStores 버전 관리를 지원하지 않으므로 순서대로 데이터 저장소 키에서 이 메서드를 호출하면 현재 값이 덮어쓰고 이전 버전이 액세스할 수 없게 됩니다.
키의 현재 값을 검색하고 키의 값을 설정하는 짧은 시간 사이에 다른 게임 서버가 키의 키를 업데이트한 경우, GlobalDataStore:UpdateAsync() 는 이전 호출의 결과를 무시하고 함수를 다시 호출합니다.데이터가 저장될 때까지 필요한 만큼 함수가 여러 번 호출될 것입니다 또는 콜백 함수가 반환될 때까지 nil .이를 사용하여 데이터가 덮어쓰지 않도록 할 수 있습니다.
데이터 저장소에 저장되는 모든 문자열은 유효해야 합니다 UTF-8.UTF-8에서는 127보다 큰 값은 다중 바이트 코드포인트를 인코딩하는 데 전적으로 사용되므로 127보다 큰 단일 바이트는 UTF-8이 유효하지 않으며 GlobalDataStore:UpdateAsync() 시도가 실패합니다.
설정 vs. 업데이트
GlobalDataStore:SetAsync()는 특정 키의 빠른 업데이트에 가장 적합하며 쓰기 제한에만 계산됩니다.그러나 두 서버가 동시에 동일한 키를 설정하려고 시도하면 데이터 불일치가 발생할 수 있습니다.GlobalDataStore:UpdateAsync()는 변경하기 전에 현재 키 값(마지막으로 업데이트된 서버에서)을 읽기 때문에 다중 서버 시도를 처리하는 데 더 안전합니다.그러나 읽기 전에 읽기 때문에 약간 느리고, 읽기와 쓰기 제한 모두에 대해 계산됩니다.
콜백 함수
콜백 함수는 두 가지 인수를 받습니다:
- 업데이트 전의 키 값.
- DataStoreKeyInfo 최신 버전 정보가 포함된 인스턴스(메타데이터가 사용되지 않는 경우 이 인수는 무시할 수 있음).
반대로, 콜백 함수는 최대 3개의 값을 반환합니다:
- 키에 설정할 새 값.
- 키와 연결할 배열 UserIds 입니다.기존 ID가 변경되지 않는 한 DataStoreKeyInfo:GetUserIds() 이 반환되어야 하며, 그렇지 않으면 모든 기존 ID가 지워집니다.
- 키와 연결할 메타데이터가 포함된 Luau 테이블.DataStoreKeyInfo:GetMetadata() 기존 메타데이터가 변경되지 않는 한 기존 메타데이터는 반환되어야 하며, 그렇지 않으면 모든 기존 메타데이터가 지워집니다.
콜백이 대신 nil를 반환하면 현재 서버는 키를 업데이트하려는 시도를 중지합니다.
콜백 함수는 생성할 수 없으므로 하지 마십시오 호출 같은 것을 포함하지 마십시오. task.wait() .
매개 변수
값을 업데이트할 키 이름.데이터 저장소에 액세스하는 경우 DataStoreOptions.AllScopes 가 DataStoreService:GetDataStore()를 통해 진실로 설정되었으면, 이 키 이름은 "scope/key"와 같이 원래 범위와 함께 붙여야 합니다.
현재 값과 DataStoreKeyInfo를 매개 변수로 사용하고 새 값과 선택적 UserIds 및 메타데이터를 함께 반환하는 변환 함수.
반환
지정된 키와 버전 번호, 생성된 날짜 및 시간, 버전을 검색하고 메타데이터를 검색하는 인스턴스가 포함된 데이터 저장소의 업데이트된 값에 대한 엔트리. The updated value of the entry in the data store with the given key and a instance that includes the version number, date and time the version was created, and functions to retrieve and metadata.