重新设计doc结构体，将show修改成为结构体方法，删除redis，修改sava

这么多 return 多 string 怎么知道返回什么呢？如果 2 个 return 值，一个 string，一个 error 还可以，return 这么多 string 你看上去不觉得有点问题？