分析下discuz的缓存机制

yunsongs 发布于 2013/03/07 22:21
阅读 752
收藏 2
有详细了解的吗?
加载中
0
南湖船老大
南湖船老大

discuz 有啥稀奇的,也值得分析。。。

代码跟狗屎一样,还没有注释(故意把发布的代码中注释去掉了,如此屌丝。。。)

它里面用了memcached,不过用的很简单,也可以切换成其他缓存组件

RickyFeng
RickyFeng
个个都差不多是这样
0
回去干活
回去干活

如果能让discuz重来一次的话,可能代码不会这么垃圾,但是不可能,这个玩意总是在慢慢迭代升级,兼容之前的,慢慢改善代码。

毕竟是从PHP4就开始的项目。现在都到php5.5了,这代码要兼容的版本太多了,而且还要能平滑升级,难度真的太大了。

0
南湖船老大
南湖船老大

    04年就玩过各种社区了,就架构上而言,DZ代码完全没有参考和学习价值,虽然部分单独的代码写的很不错(比如验证码类,邮件类,我也抽出来自己用),但开发者只算一个好码农,架构水平差远了。      

    一个东西流行,并不是因为它有多好,只是人们懒得重新实现。 好比很多报表和OA系统比狗屎还臭,但你不得不用它,因为你找不到更多的实现,也不愿重写,开发和维护成本太大。

    说正经的,一般的缓存系统都是抽象出一个接口,然后围绕接口实现不同的缓存类。比如文件缓存、OPcode缓存、内存缓存等。同时一个好的缓存架构还要考虑淘汰算法(FIFO,LRU)、容错策略(主从、节点故障)、效率(命中率、雪崩)等。

返回顶部
顶部