用户头像使用的疑问?
用户头像使用的疑问。
现在一个网站,很多地方都需要显示用户头像。比如,帖子(T_Topic)和回帖(T_TopicReply),都要显示发帖者和回帖者的头像。
我现在表的设计:用户表(T_User)里有用户头像字段,这个字段存的是用户头像的url。
为了达到显示用户头像的效果,我想了几种方法,大家比较一下,看看有没有更好的方法。
1.每一次显示头像的时候,通过用户ID去用户表(T_User)读取用户的头像url。
2.用(T_Topic)或者(T_TopicReply) left join T_User。
3.在(T_Topic)或者(T_TopicReply)里增加一个用户头像url字段。
上面3种方法里:
第3种读取数据库的效率最高,但是用户如果更换头像以后,之前的数据(比如以前发的帖子或者回帖)头像还是老的;如果去更新之前数据里的头像url的话,对数据库鸭梨太大。况且会增加数据库的存储鸭梨。
第1、2种方法相对于3来说读取数据库会比较耗性能。
另外,用户表里的数据我是采用缓存模式存在内存里的,也就是说第一次读取用户信息的时候去需要去读数据库的,后面再读取用户信息的话就直接读内存了。
有没有别的什么比较好的方法?
谢谢!