-
問題描述:
在維護項目代碼時,發現有接口響應耗時太長,遂進行優化處理; -
接口邏輯:
1.根據條件在MongoDB中查詢數據;
2.遍歷數據進行統計、分析;
3.響應請求並做Redis緩存。 -
問題定位:
在對結果數據進行遍歷統計、分析時,對JSON數據做了轉Javabean的操作,單條數據轉換耗時高達18ms,導致響應時間超時; -
問題原因:
在使用JavaBean bean = JSON.parseObject(str,JavaBean.class);
轉化Javabean時,
JavaBean
中還存在一個List<OtherBean>
成員變量,其中的OtherBean
也是一個自定義bean,這個是導致耗時長的主要原因。 -
問題總結:
在大批量遍歷處理數據時,優先使用JSON格式來處理,對於含有複雜成員變量的Javabean,在轉換時需要特別注意。
以上
有不足或者錯誤的地方,歡迎留言指出。