静态更新管理技术探讨

wjazz 2008-12-09 10:14:11
最近在做一个静态管理的程序,遇到一些问题想问下各位大虾的意见

静态分为伪静态和真实静态两种,伪静态管理没有什么问题,也不用管理,

主要是静态更新的问题,一般在做这样的静态处理的时候都是采用什么原理呢,或者说什么样的方式比较好

...全文
61 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
xiongbing529 2008-12-09
  • 打赏
  • 举报
回复
还是看需求把,有些需要重新删除,生成。有些不需要.调整的字段少的话,应该ajax过来新值就OK了。不用删除.
cyxin2121921 2008-12-09
  • 打赏
  • 举报
回复
mark
总哈哈 2008-12-09
  • 打赏
  • 举报
回复
在数据改变的时候,把原来的静态页面改变一下就行了嘛!不过这么做,在页面删除的时候就不好做了,我认为如果想做成静态页面做成XML+XSTL。这样和静态页面差不多,可能要好些!
aniwn 2008-12-09
  • 打赏
  • 举报
回复
有内容更新的时候就重新生成与更新相关的静态文件,一般cms都这么搞的
程序猿之殇 2008-12-09
  • 打赏
  • 举报
回复
内容变化以后,就实时更新实体静态文件,这是最基本的方法,属于主动更新.

难道你想把静态文件更新交给后台进程处理.设置定时器,然后遍历数据库,发现有内容更新,就更新实体文件? 我觉得这样的更新方式属于被动更新.
wjazz 2008-12-09
  • 打赏
  • 举报
回复
首先谢谢jakey9826的回答
我先这里跟大家请教的是静态更新上的问题,比如利用判断时间来达到更新,或者根据数据库标记(是否有更新)来时时更新

关于生成静态部分,这里不做探讨.

感觉缓存机制还可以,主要是文件缓存和数据库缓存结合时怎么结合比较好

或者大家在处理类似问题的时候一般采用什么样的方式解决?
程序猿之殇 2008-12-09
  • 打赏
  • 举报
回复
静态处理就是生成实体的静态文件.

其实过程一般都在内容确定发布以后:
1 根据一定的策略生成文件名,文件保存位置
2 文件信息入库
3 生成实体的文件
4 更新列表实体文件

当文件涉及到内容变化的时候,也需要重新生成静态文件,并删除原有文件(这取决于策略,也可不删除)

an9ryfr09 2008-12-09
  • 打赏
  • 举报
回复
其实很简单,就两点:

1 浏览的时候,总是去找已生成的静态页面。
2 当文章内容需要update的时候,重新生成html页面覆盖原有的就可以了。


或者可以采取更加细致的方式:

在一整个静态页面中,找出所有有动态内容变化的地方。使用<script src="xxx.php"></script>的方式。举个例子,比如一篇文章内有个地方需要显示这篇文章的浏览次数。那么你就可以用这种方式,xxx.php中负责查询查询数据库,然后echo出一个值。这样你的静态页面这里就会动态输出内容了。


不过嘛,如果一个页面多处都有类似这样的需要,并且对这些数据的实时性要求并不高。可以采用动态缓存技术。

设定一个超时时间,比如300秒,生成一个xxx.js文件,实际上就是一个缓存文件,后台有个php程序,300秒查询一次数据库,然后将结果写入或覆盖那个xxx.js文件,内容大概为:document.write('xx');
这就是动态缓存技术。你的这个文章页面的浏览统计那里,300秒更新一次。这样会很大程度减轻对数据库的压力。

discuz等系统很多地方就是采取的这种技术。

21,886

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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