GlobalDataStore

사용되지 않는 항목 표시

*이 콘텐츠는 AI(베타)를 사용해 번역되었으며, 오류가 있을 수 있습니다. 이 페이지를 영어로 보려면 여기를 클릭하세요.

만들 수 없음
복제되지 않음

A 글로벌 데이터 저장소 는 데이터를 저장하고 로드하기 위한 함수를 노출합니다 DataStoreService.

데이터 저장소에 대한 자세한 가이드는 데이터 저장소를 참조하십시오. 데이터 구조, 관리, 오류 처리 등

정렬된 데이터 저장소는 버전 관리 및 메타데이터를 지원하지 않으므로 DataStoreKeyInfo 는 항상 nil 에 있는 키에 대해 OrderedDataStore입니다.버전 관리 및 메타데이터 지원이 필요한 경우 DataStore를 사용하십시오.

요약

메서드

속성

메서드

GetAsync

생성

이 함수는 제공된 키의 최신 값과 DataStoreKeyInfo 인스턴스를 반환합니다.키가 존재하지 않거나 최신 버전이 삭제된 것으로 표시되면 두 반환 값이 모두 nil가 됩니다.

키는 처음 읽음후 4초 동안 로컬에 캐시됩니다.이 4초 내에 GlobalDataStore:GetAsync() 호출은 캐시에서 값을 반환합니다.키의 변경 GlobalDataStore:SetAsync() 또는 GlobalDataStore:UpdateAsync() 은 캐시에 즉시 적용되고 4초 타이머를 재시작합니다.

최신 버전 이전의 버전과 같은 특정 버전을 가져오려면 DataStore:GetVersionAsync()를 사용하십시오.

매개 변수

key: string

값이 요청된 키 이름.데이터 저장소에 액세스하는 경우 DataStoreOptions.AllScopesDataStoreService:GetDataStore()를 통해 진실로 설정되었으면, 이 키 이름은 "scope/key"와 같이 원래 범위와 함께 붙여야 합니다.

기본값: ""
기본값: "nil"

반환

지정된 키와 버전 번호, 생성된 날짜 및 시간, 버전을 검색하고 메타데이터를 검색하는 인스턴스가 포함된 데이터 저장소의 엔트리 값과 버전을 검색하고 메타데이터를 검색하는 함수.

IncrementAsync

Variant
생성

이 함수는 제공된 금액으로 키의 값을 증가시킵니다(둘 다 정수여야 함).

GlobalDataStores 있는 값은 버전화 에 설명된 것처럼 버전이 지정됩니다. 버전화에 따라.OrderedDataStores 버전 관리를 지원하지 않으므로 주문된 데이터 저장소 키에서 이 메서드를 호출하면 현재 값이 증가된 값으로 덮어쓰고 이전 버전을 액세스할 수 없게 만듭니다.

매개 변수

key: string

값을 업데이트할 키 이름.데이터 저장소에 액세스하는 경우 DataStoreOptions.AllScopesDataStoreService:GetDataStore()를 통해 진실로 설정되었으면, 이 키 이름은 "scope/key"와 같이 원래 범위와 함께 붙여야 합니다.

기본값: ""
delta: number

현재 값을 증가시킬 금액.

기본값: 1
userIds: Array

(옵션) 키와 연결할 테이블 UserIds 의 경우.

기본값: "{}"

(선택적) DataStoreIncrementOptions 여러 추가 매개변수를 사용자 지정 메타데이터로 결합하고 향후 확장성을 허용하는 인스턴스.

기본값: "nil"

반환

Variant

지정된 키로 데이터 저장소에 있는 항목의 업데이트된 값.

RemoveAsync

생성

이 함수는 새로운 "묘비" 버전의 키를 만들어 지정된 키를 삭제하도록 표시합니다.이 전에는 제거 호출 이전의 최신 버전을 반환합니다.

이 함수를 통해 키가 제거된 후, GlobalDataStore:GetAsync() 키 호출은 반환됩니다 nil.키의 이전 버전은 DataStore:ListVersionsAsync()DataStore:GetVersionAsync()을 통해 액세스할 수 있으며, 만료되지 않은 것으로 가정합니다.

OrderedDataStore는 버전 관리를 지원하지 않으므로 키 RemoveAsync()에서 OrderedDataStore을 호출하면 영구적으로 삭제됩니다.

제거된 개체는 30일 후 영구적으로 삭제됩니다.

이전 값이 이미 GlobalDataStore:RemoveAsync() 또는 DataStore:RemoveVersionAsync()를 통해 삭제되었으면 함수는 값에 대해 nil , nilDataStoreKeyInfo를 각각 반환합니다.

매개 변수

key: string

제거할 키 이름.데이터 저장소에 액세스하는 경우 DataStoreOptions.AllScopesDataStoreService:GetDataStore()를 통해 진실로 설정되었으면, 이 키 이름은 "scope/key"와 같이 원래 범위와 함께 붙여야 합니다.

기본값: ""

반환

삭제 전 데이터 저장소의 값과 버전 번호, 생성 날짜 및 시간을 포함하는 인스턴스, 버전을 검색하고 메타데이터를 검색하는 함수를 포함합니다.

SetAsync

Variant
생성

이 함수는 최신 값 UserIds 및 지정된 키에 대한 메타데이터를 설정합니다.

GlobalDataStores 있는 값은 버전화 에 설명된 것처럼 버전이 지정됩니다. 버전화에 따라.OrderedDataStores 버전 관리를 지원하지 않으므로 순서대로 데이터 저장소 키에서 이 메서드를 호출하면 현재 값이 덮어쓰고 이전 버전이 액세스할 수 없게 됩니다.

현재 값에 변경 사항이 없더라도 메타데이터 정의는 항상 값으로 업데이트되어야 하며, 그렇지 않으면 현재 값이 손실됩니다.

데이터 저장소에 저장되는 모든 문자열은 유효해야 합니다 UTF-8.UTF-8에서는 127보다 큰 값은 다중 바이트 코드포인트를 인코딩하는 데 전적으로 사용되므로 127보다 큰 단일 바이트는 UTF-8이 유효하지 않으며 GlobalDataStore:SetAsync() 시도가 실패합니다.

설정 vs. 업데이트

GlobalDataStore:SetAsync()는 특정 키의 빠른 업데이트에 가장 적합하며 쓰기 제한에만 계산됩니다.그러나 두 서버가 동시에 동일한 키를 설정하려고 시도하면 데이터 불일치가 발생할 수 있습니다.GlobalDataStore:UpdateAsync()는 변경하기 전에 현재 키 값(마지막으로 업데이트된 서버에서)을 읽기 때문에 다중 서버 시도를 처리하는 데 더 안전합니다.그러나 읽기 전에 읽기 때문에 약간 느리고, 읽기와 쓰기 제한 모두에 대해 계산됩니다.

매개 변수

key: string

값을 설정할 키 이름.데이터 저장소에 액세스하는 경우 DataStoreOptions.AllScopesDataStoreService:GetDataStore()를 통해 진실로 설정되었으면, 이 키 이름은 "scope/key"와 같이 원래 범위와 함께 붙여야 합니다.

기본값: ""
value: Variant

데이터 저장소 키가 설정될 값.

기본값: ""
userIds: Array

표의 UserIds , GDPR 추적/제거를 돕기 위해 강력히 권장됩니다.

기본값: "{}"

(선택적) DataStoreSetOptions 키에 대한 메타데이터 사양을 허용하는 인스턴스.

기본값: "nil"

반환

Variant

새로 생성된 버전의 버전 식별자. 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() .

매개 변수

key: string

값을 업데이트할 키 이름.데이터 저장소에 액세스하는 경우 DataStoreOptions.AllScopesDataStoreService:GetDataStore()를 통해 진실로 설정되었으면, 이 키 이름은 "scope/key"와 같이 원래 범위와 함께 붙여야 합니다.

기본값: ""
transformFunction: function

현재 값과 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.

이벤트