뒤끝펑션을 이용해서 아이템 지급로직을 구현하고자합니다.
아이템 정보는 차트에서 관리할 예정입니다.
궁금한 점은 뒤끝펑션 호출 시 차트를 매번 받지 않고 메모리에 캐싱하여 재사용하는 방법입니다.
뒤끝펑션을 이용해서 아이템 지급로직을 구현하고자합니다.
아이템 정보는 차트에서 관리할 예정입니다.
궁금한 점은 뒤끝펑션 호출 시 차트를 매번 받지 않고 메모리에 캐싱하여 재사용하는 방법입니다.
안녕하세요, 개발자님.
문의하신 사항은 담당부서 통해 상세내용 확인 중에 있습니다.
확인 후 답변 예정이니 시간 양해 부탁드리겠습니다.
감사합니다.
안녕하세요, 개발자님.
뒤끝 펑션 내부에서 차트 데이터를 캐싱할 수 있는 사용자 정의 데이터 타입을 static으로 선언할 경우
약 10분간 해당 데이터가 캐시에 남아있게 되며, 다른 유저 또한 해당 데이터에 접근할 수 있게 됩니다.
public static List<_ItemData> itemList = new List<_ItemData>();
string str = string.Empty;
if (itemList.Count <= 0) {
// 차트 데이터 불러오기부터 시작
var bro = Backend.Chart.GetChartContents("ChartID");
var json = bro.FlattenRows();
for (int i = 0; i < json.Count; i++) {
_ItemData item = new _ItemData();
item.itemID = json[i]["itemID"].ToString();
item.itemName = json[i]["itemName"].ToString();
item.hpPower = json[i]["hpPower"].ToString();
item.percent = json[i]["percent"].ToString();
item.num = json[i]["num"].ToString();
itemList.Add(item);
str += item.ToString();
}
} else {
// 캐싱된 데이터를 사용해 바로 사용
for (int i = 0; i < itemList.Count; i++)
str += itemList[i].ToString();
}
확인 했습니다.
답변 주셔서 감사합니다 ^^
안녕하세요 관련된 내용을 보고 있었는데
10분을 늘리는 방법은 없는것인가요?
또한 다른 유저가 접근했을경우 캐싱 시간 변동은 어떻게 되나요?
예를들어 A라는 유저가 캐싱을 시작하고 5분뒤 B라는 유저가 데이터에 접근하면 그때부터 10분인지
캐싱 시작된 이후 무조건 10분인지 궁금합니다.
안녕하세요, 개발자님.
문의하신 내용 답변드립니다.
다음 유저가 호출했을 때 캐싱이 남아있는 펑션이 호출될 수도 있고 새로운 펑션이 호출될 수도 있습니다.
캐싱 시간은 마지막 호출로부터 약 10분 ~ 15분 이며, 늘리는 것은 불가합니다.
감사합니다.
네 확인 감사합니다.