#52 把几个常调用的区域写成cache_macro