with cache
 xx
修复cache取第二个元素为空bug