用户头像使用的疑问?

fihuang 2010-10-13 04:40:11
用户头像使用的疑问。
现在一个网站,很多地方都需要显示用户头像。比如,帖子(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来说读取数据库会比较耗性能。

另外,用户表里的数据我是采用缓存模式存在内存里的,也就是说第一次读取用户信息的时候去需要去读数据库的,后面再读取用户信息的话就直接读内存了。

有没有别的什么比较好的方法?
谢谢!
...全文
90 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
fihuang 2010-10-13
  • 打赏
  • 举报
回复
五角星哪里去了
持续关注
fihuang 2010-10-13
  • 打赏
  • 举报
回复
我顶 我顶 我顶 我顶
fihuang 2010-10-13
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 yan267 的回复:]

一般都是根据发帖或者回复的用户ID关联用户表吧,毕竟不只只拿头像而已啊,一般都会拿积分或者更多的信息。

用户表里的数据我是采用缓存模式存在内存里,如果用户多的话,数据很恐怖的。
[/Quote]内存不是问题 实在不行 用一台服务器专门做缓存用都可以

像现在的这些微薄网站 数据量这么大 不知道他们用的是怎么解决的
像这么大的数据量 用left join 我觉得不太可能
yangxxxxxx66 2010-10-13
  • 打赏
  • 举报
回复
还是用第一种方法合理,不会影响多少性能的,不要动不动就太多的考虑性能,除非真的有必要
yan267 2010-10-13
  • 打赏
  • 举报
回复
一般都是根据发帖或者回复的用户ID关联用户表吧,毕竟不只只拿头像而已啊,一般都会拿积分或者更多的信息。

用户表里的数据我是采用缓存模式存在内存里,如果用户多的话,数据很恐怖的。
yqyqyoyo 2010-10-13
  • 打赏
  • 举报
回复
差不多就这几种方式了。期待其他人提供其他的方式。

62,271

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧