修改了缓存为链表，节约内存