Advertisement
Advertisement

More Related Content

Similar to Social game programming footage 7 loading and storing via db cache system(19)

Advertisement

Recently uploaded(20)

Advertisement

Social game programming footage 7 loading and storing via db cache system

  1. DB cache를 통해 Ville 상태를 저장/로딩하기 넷텐션
  2. DB 캐시를 통한 데이터 억세스 • 기본 기능 – 독점 로딩 – 일방형 데이터 변경 • 추가 기능 (본 튜토리얼에서는 안 다룸) – 요청응답형 데이터 변경 – 비독점적 데이터 억세스 • 스냅샷 • Atomic Increment, Decrement • Atomic Compare-and-exchange
  3. 독점 데이터 로딩 CDbCacheClient2 CDbCacheServer2 RequestExclusiveLoadData (인자: query filter text 등) OnExclusiveLoadDataSuccess (실패시 Fail이 콜백) 단 한 개의 DB cache 클라(서버 노드 하나)만이 어떠한 데이터 트리를 독점 로딩 가능 DB
  4. 로딩한 데이터 구조 예 Drakedog CLoadedData2 Red Hat CLoadedData2 Epic Sword CLoadedData2 Backpack CLoadedData2 Blue Gem CLoadedData2 Epic Shield CLoadedData2
  5. 독점 데이터 로딩 해제 CDbCacheClient2 CDbCacheServer2 UnloadDataBySessionGuid 소유권 놔줌 독점 로딩 해제. 단, 캐시에는 한동 안 남아있음 DB
  6. 다른 데서 로딩한 데이터를 독점 로딩하기 (거절 예) CDbCacheClient2 1. RequestExclusiveLoadData (인자: query filter text 등) 4. OnExclusiveLoadDataFailed CDbCacheClient2 2. OnDataUnloadRequested 3. DenyUnloadData 독점 로딩중
  7. 다른 데서 로딩한 데이터를 독점 로딩하기 (양보 예) CDbCacheClient2 1. RequestExclusiveLoadData (인자: query filter text 등) 독점 로딩중 4. OnExclusiveLoadDataSuccess CDbCacheClient2 2. OnDataUnloadRequested 3. UnloadDataBySessionGuid 독점 로딩중
  8. 일방적 데이터 변경하기 CDbCacheClient2 DB CDbCacheServer2 즉시 혹은 나중에 UnilateralAddData UnilateralRemoveData UnilateralUpdateData 먼저 여기에 반영 이제 여기에 반영
  9. 새 데이터 만들기 • RequestExclusiveLoadNewData – 새 데이터를 생성 후 그것을 로딩
Advertisement