随笔分类 -  工作

摘要:1.在项目中使用Set<String>实例,在使用Set的contains方法时,在方法内部其实用到对象的hashcode和equals方法进行查找Set内部的数据结构,contains方法的参数是Object类型,在项目中误传入Long型数据,结构导致方法返回false,内部原因是String和Long的hashcode的计算方法不对所导致。这个地方的contains方法JDK可以泛型成contains(String str)就不会有这个问题了。2.timeline的性能非常的低下,底层的架构采用了推和拉结合的模式,当用户的粉丝数大于500时使用拉模式,成为明星用户;结果在当前用 阅读全文
posted @ 2012-07-24 21:31 nod0620 阅读(288) 评论(0) 推荐(0)
摘要:最近一次,有个需求,需要给3kw的用户发系统消息,按照以往的设计是这样的: 后台输入系统消息--->从用户系统得到用户的id--->根据用户id给每个用户生成一个存储消息的key,进行消息存储,更新用户的未读消息数--->用户登录系统,看到未读消息数,点击进入阅读页面--->读取系统消息,更新未读消息数为0 这个方案在用户数非常少的情况下面是完全ok的,但是在用户数很大的时候,出现了以下问题: 1.系统消息对于每个用户是一样的,即使有可能有一些差别,但是通过用户系统的数据可以组装出不一致的消息,这样的话,如果存储一份数据用的存储大大小于存储3kw数据用户的存储 2.给每 阅读全文
posted @ 2011-11-20 14:23 nod0620 阅读(508) 评论(0) 推荐(0)