给.Net程序加个cache
09-6
我一直以为mysql5.0的触发器好似没那么强大,被一个搞mssql的老大给忽悠了,其实mysql触发器从5.0就变得很强大,当然包括5.1。
这里拿一个demo说事:
每向uchome_doing表中插一条数据,就复制到uchome_dong_1表中一条。
有两个关键字:
官方的解释:
The OLD and NEW keywords enable you to access columns in the rows affected by a trigger. (OLD and NEW are not case sensitive.) In an INSERT trigger, only NEW.col_name can be used; there is no old row. In a DELETE trigger, only OLD.col_name can be used; there is no new row. In an UPDATE trigger, you can use OLD.col_name to refer to the columns of a row before it is updated and NEW.col_name to refer to the columns of the row after it is updated.
还有两个关键字
官方解释
The keyword BEFORE indicates the trigger action time. In this case, the trigger should activate before each row inserted into the table. The other allowable keyword here is AFTER.
好久不用PDO了,公司这边有的项目使用PDO,再熟悉一下,继续沿用之前的方法:
没用数据绑定和一些高级的功能,只是实现基础功能。
最近改了改UCenter Home,发现,这的确是个不错的产品,但不能算一个成熟的程序。
产品看法:
这个产品主要是服务一些个人站长和小型站点,功能模仿一些成熟的sns系统,模仿比较到位,而且功能上尽可能大的去完善,让管理员可以方便进行比较系统全面的管理。而从产品的设计体验上,也能适应中国大多数的用户。
所以,这个产品在国内算一套非常不错的sns建站系统。
编码方面:
要说代码,我相信阅读过代码的人一定很头疼,从discuz的bbs就这样。
代码只是面向过程,这个,在discuz方面,我估计是累积开发造成的,一个个版本升级,变化不能太大,如果变化真的太大,会失去一些开发者。另外,他自己升级也是个问题。
不过uch这个产品也开发成了这样。代码结构我倒挺喜欢,之前我写那个架子也是这样。优点:结构规范,适合多人协作。缺点,面向对象性,代码复用差。这个结构,我估计是公司某元老折腾的,然后有几个小弟进行模块开发。
为什么这么说,是有原因的,因为遍历整个代码,起码有两种以上的代码风格,而且人员之间沟通配合也造成了一些错误,虽然不是bug,但看得出来项目进行的仓促。不过这也是公司的一个战略措施,小戴同学总是及时放出产品来打压竞争对手。
再说负载,其实这个问题就不用说,从大量的垃圾sql语句就能看出,这个产品不能支持较大的负载。
再说最后一点,如果你想去优化改善,彻底改善,放弃吧。重写。
我看的只是uch2.0的预览版,估计正式版放出的时候,这些问题会有所改善。
最近跟我那个成都的某个IDC机房扯皮,扯得我是下三滥的手段都想用了,不过看在还混在这个圈子的面子上,没跟他们使损招。我最看不惯的就是那些销售,以为技术人员都是木头,都是榆木疙瘩。凭借一张三寸不烂之舌就想敷衍了事。套用一句流行语:咱民工玩的是风度,不是阴沟。
其实自打毕业干IT这行,从买51.net的虚拟主机到现在,接触的IDC是不下几十家,出入过的机房也有十几个之多,当然碰到的一些扯皮的事情当然就更多了。写这篇文章,就是把一些细节纰漏出来。不针对某个无良IDC,当然也不是给哪个IDC做广告,都是自己经验之谈。也许有理解和认识的错误,欢迎朋友和同行们指正。
因为虚拟主机已经不常用,我说的主要是服务器托管租用方面,我的经历主要是北京范围内。
首先是如何找一个优秀的IDC。IDC分一线二线三线,就好像买车分几个系列一样。如果你想拥有军用悍马的性能,那十个奥拓的价格也不行。如果你真买了10万以下的车,那半路抛锚或者高速上被车皮挤死也别太抱怨。一线IDC主要集中了国内顶尖的网络公司:腾讯,搜狐,新浪,盛大,完美之类的大客户。他们的价格绝对让你乍舌,但质量也能有你想象那么高。你上这几家的网站,有几次断网,有几次感觉速度慢了。而二线的IDC就有大多数也许是发展中的网站,比较拮据的,或者一些知名客户但需要价格比比较高的流量的。三线的IDC,就难说了,小的不能再小的公司,一些个人网站,垃圾站,或者,就是皮包公司。
所以,寻找IDC,先问问销售,贵机房有什么知名的大客户,给个ip或者地址看看(当然,要说是搜狐的某个分站,不用他说,你自己就找到了)。这时,你可以根据销售提供的客户的质量来评价这个机房的档次。
当你选定一个机房后,测试是必须的——三天最少。当你的机器上架后,首先要做的,就是测试带宽,探测网络结构,测试稳定性,甚至网管反应(有点破坏性测试)。测试带宽,要测试上行和下行的带宽,是否能跑足。如果没有从三层以下限速,你尝试持续高带宽,网管有没有反应。(不要期望你能跑那么大的带宽,你跑的大,别的客户也能跑那么大,抢来抢去,自己正常业务也就受损了)。探测下你ip段的网络拓扑,是否划分vlan,你的vlan里有没有windows机器(防止arp,我一般用linux)。最后关机,你看网管是否有反应。我曾经用过一线IDC的带宽,但是网关配置出错,造成流量为0,结果我们刚出机房,网管就打来了电话。这样的服务,你能不感动么。
合同:不管什么业务,合同是要签的。这方面我很无奈,我可以直言不讳得说,做这行的都是流氓,因为合同上基本都是霸王条款。非可控的意外,他们基本都不赔偿。可以说,基本出现的故障,都是他们不可控的:大网出现意外,比如光纤让铲车铲了,或者市电被掐了。当然他们不可控。不过一定要记住,机房设计是必须把意外情况设计进去的,UPS、柴油发电机组是机房必须的设备,这也是你服务的一部分,如果这些都没有,那机房的价值就很低(带宽,电力只是成本的一部分,一部分成本用在了对于意外情况的冗余上)。所以,最好能让他们补充:何种电力冗余,何种网络冗余,意外故障如何赔偿。
实地勘察:光有合同不行,最近我碰到的事情很生气。机房电力出了问题(他们居然走普通市电而没有备用电力),UPS是有,没接到你机器上。结果断电,造成我mysql故障而无法恢复,我正在跟他们交涉。记得问问现场网管的情况,说两个比较常见的问题咨询一下。另外问问他们的收入情况。别小看这些细节:我的linux系统,让网管给关系,网管居然说不会linux。汗得我差点从自行车上载下来。去机房,多看看设备:电力,空调,防火,还有就是机房是否整齐,管理是否到位。看看机房后边的线是否都清晰(曾经在丰台一个机房,一下子就把邻居的电源拔了……)。
好的机房,不仅是硬件资源好,软件也不可缺的。当然软件不是指安装的软件,而是机房的配套设施。去的时候,网管都会自带工具软件。测试的时候建议让机房去做,比如,借一个移动光驱,借一张光盘,下载一个iso去刻盘,打一颗网线,让现场的技术给帮忙之类的事情。别怕机房的人BS你,这只是去感觉一下你应该有的服务。
补充1:上文所说测试上下行带宽问题,事出有因:大部分的专业idc,上下行给的都是一致的,但个别的idc,把下行带宽克扣出来,去给一些小区或者单位做接入,这样达到了更高的利润,但这样给一些下行需求高的客户带来了问题。所以我提到了这点。(学过通讯技术的应该都知道带宽复用这么一个技术,大家可以google一下。)
说了半天,这些经验的确都是自己交学费的成果,希望把这些细节分享给大家,欢迎大家交流,可以加我的qq 176300676 或者msn sunboyu@gmail.com
当然也可以加入lamp大家庭 msn用户加 lamper@live.cn 为好友
本文为作者原创,转载须注明出处。 http://www.sunboyu.cn/2009/07/28/%E5%A6%82%E4%BD%95%E9%80%89%E6%8B%A9%E4%B8%80%E4%B8%AA%E7%A7%B0%E5%BF%83%E7%9A%84idc.shtml
增加了:跳转到第几页的功能
模板部分
其实我在做的时候又出现个问题,如果是url重写了,如何来做这个baseurl变量。问题解决方法是,把url当做模板,比如/blog/index/%d
| 一 | 二 | 三 | 四 | 五 | 六 | 日 |
|---|---|---|---|---|---|---|
| « 三 | ||||||
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 7 | 8 | 9 | 10 | 11 | 12 | 13 |
| 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| 21 | 22 | 23 | 24 | 25 | 26 | 27 |
| 28 | 29 | 30 | 31 | |||