请问这个功能是如何实现的。
比如打开一个帖子,由于缓冲,本来显示有3人回复,但是里面什么内容都没有,此时点击“管理菜单”中的生成帖子,结果回复都显示出来了。

解决方案 »

  1.   

    用页面缓存现实吗?这么多页面,那要什么样的服务器?
    用缓存估计可能会和hibernate一样去设计,在生成帖子的时候flush()下。但是这样要缓存至少一个SQL语句。但是这样还是相当郁闷的,CSDN的帖子数量那是牛多的..
      

  2.   

    同样的疑问,我发帖子了,得到回复
    ====================
    为了提高性能, 帖子页面有缓存. 所以你无法最实实的看到最新的内容. 缓存时间是 3 分钟. 帖子页面你 Ctrl + F5  是可以看到的。 或者帖子URL中带一个参数。 
    人多了,就不能用之前人少的策略来访问了。 否则大家都访问不了。
    =========================参见http://topic.csdn.net/u/20080324/09/504c918d-49ba-4313-9ceb-1c2a940c49ec.html
      

  3.   

    csdn帖子是用xml保存的,结贴后转为静态页面:
    1.如果直接操作xml的话,结贴即把xml文件设为只读的。
    2.在数据库里保存xml格式,结贴后导出xml文件,数据库可以不保存改贴记录,即可以删除。
    两种的话,如果用缓存,第一种是不可能的。第二种用缓存也相当耗性能的。
    但结合两种很有可能的是:
    发帖时insert数据库一条记录,并导出一份xml文件。
    访问直接是.xml文件。
    在提交恢复的时候,直接保存在数据库xml字段。
    当生成帖子的时候就从数据库读取数据,操作xml文件,并显示给客服端
      

  4.   

    看了http://topic.csdn.net/u/20080324/09/504c918d-49ba-4313-9ceb-1c2a940c49ec.html
    不知道  蝈蝈俊.net  是不是代表csdn官方。。
    如果是的话,我想我终于明白一些事情。比如:CSDN为什么这么慢
      

  5.   

    看似csdn想用ajax实现操作数据库和xml的想法,但是ajax并不是很稳定,所有出了生成帖子的功能。
    //以上想法纯属个人见解,如有雷同实属巧合,如有错误实属正常。尽管拍砖谩骂.....
      

  6.   

    应该是每次发完贴或回复后,CSDN都会把贴子重新生成一遍,访问的时候都是静态的,但是有时候由于某种问题导致某些回复没有及时生成(因为回贴后是要3秒钟后才看的到贴子),所以看到的回复有时候是50条,而贴子列表里面只有40条,说明后10个回复没有及时生成,重新生成一遍(从数据库里面取最新的数据进行生成),这样显示结果就正确了,
    给点分给我,哈。。