shiny 写于 2009, February 3, 4:01 PM
有个说法:CACHE FOR CASH。
可见CACHE(缓存)对于降低服务器压力、减少硬件成本、提高程序性能有非常重要的意义。
从缓存的范围来划分,一般缓存有两种:页面级的缓存和数据级的缓存。
下面贴一个MEETTEA项目的数据级缓存的示例。
优点:可以设置过期的时间或永不过期;可以储存任何一种变量。
使用方法:
$dc = new dataCache();
/**key,相当于数组的KEY,对应了储存的值;$value,可以是任何一个PHP变量;1000,是过期的秒数,最长是5位,就是一天的秒数,0表示永不过期
***/
$dc->C('key',$value,1000);
#获取值,如果是false说明值过期或缓存已清理。
$value = $dc->C('key');
如果将这段代码应用到你的项目中,尚需略做修改,主要是数据的缓存目录、写入、读出数据的函数以及几个常量。
相信你看过之后就明白了。
» 阅读全文
分类: PHP | 评论: 1
shiny 写于 2009, February 2, 11:42 PM
以前我在丫丫SOFT讨论的一篇文章:
略略深入学习了点YUI,终于有了点小感觉。
使用jquery or YUI ?
有人形容jquery是汇编而YUI是VB。
此言不虚。
YUI的特性是体积大而且功能齐全它的代码经过了大量的实践与使用,被证明是可靠的。统一的UI风格,齐全的功能,稳定,都是它的优点。
Jquery呢,小巧,插件众多,灵活。
那么什么场合用jquery什么场合用YUI?
窃以为,以下场合适合YUI:
企业订单、超大型网站、WEB形式的应用程序
总之,要求开发速度、运行的稳定性大于打开速度或者拥有CDN的网站。
以下场合适合jquery:
小型网站、垃圾网站(看一眼后就不再回来的网站)、界面定制性要求较高的
总之,也就是要求从轮子开始造起的网站,或者开发者自己想熟悉js底层的。
» 阅读全文
分类: 微风笔记 | 评论: 10
shiny 写于 2009, February 2, 11:29 PM
PHP做开发,总是容易遇上字符串的问题。找了一篇不错的PHP下操作字符串的文章作总结。
» 阅读全文
分类: 微风笔记 | 评论: 0
shiny 写于 2009, February 1, 11:16 PM
随便贴一段重写规则:
RewriteCond %{HTTP_HOST} !^fully\.qualified\.domain\.name [NC]
RewriteCond %{HTTP_HOST} !^$
RewriteCond %{SERVER_PORT} !^80$
RewriteRule ^/(.*) http://fully.qualified.domain.name:%{SERVER_PORT}/$1 [L,R]
可以发现后面[]内有几个字符,比如NC,这些都是什么意思呢?
NC: no case,就是说不区分大小写
R:redirect,重定向
F:forbidden,禁止访问
L:last,这是最后一条规则,exit吧。
» 阅读全文
分类: 微风笔记 | 评论: 0
shiny 写于 2009, January 29, 1:38 AM
1、SQL语句过长:用表的别名,这是哥哥告诉我的。。。
此外还想到用PHP的"",中间加入换行符使得SQL代码清晰。
2、将常用的功能写成类来调用。
这样使得程序的可重用性得到提高。
3、强制规定使用环境为PHP5.这样可以使得可以使用PHP5下的功能。
4、使用__autoload函数加载类。代码简洁优雅。
5、mysql下没有top,可以用limit来代替。
6、smarty模板的文件报错:
unlink(D:\meettea\web\viald\../data/smarty/templates_c\%%96^96E^96E0A956%%head.tpl.htm.php) [function.unlink]: No such file or directory
文件为:internals/core.write_file.php,代码如下:
if (DIRECTORY_SEPARATOR == '\\' || !@rename($_tmp_file, $params['filename'])) {
@unlink($params['filename']);
@rename($_tmp_file, $params['filename']);
}
这是因为unlink时这个文件不存在!
(虽然用@可以屏蔽,但是调试模式下仍旧能得到通知)
作以下修改就可以通过了(加了个文件是否存在的判断)
if (DIRECTORY_SEPARATOR == '\\' || !@rename($_tmp_file, $params['filename'])) {
file_exists($params['filename'])&&unlink($params['filename']);
@rename($_tmp_file, $params['filename']);
}
7、有时zend studio6.0经常对一些不符合常规的编码方式提出警告,可以在项目里设置不提示。
但是如果它提示了,一定是合理的。
这是使用zend studio6.0的理由:可以减少调试时间,增加一次通过的几率。
OK,这两天的收获大致就是这些。一些工作展开中。进展正常。
(近期严打期间,准备下网站的备案)
» 阅读全文
分类: 微风笔记 | 评论: 0
shiny 写于 2009, January 26, 12:12 AM
启用了google企业邮局,以后就可以使用@meettea.com的域名作为邮箱了。
而且,作为G级邮箱风气开创者,google的技术与服务是OK的。
同时,与google其他服务套件协作产生的能量是惊人的。
这在丫丫软件开发团队已经得到验证。
本人mail:shiny@meettea.com
» 阅读全文
分类: 微风笔记 | 评论: 5
shiny 写于 2009, January 25, 2:57 PM
一直把data与date搞混,尤其是那个SQL:UPDATE。
想想,UPDATE,不就是更新数据么,按理说应该是updata才对。
可是为什么是update呢?
看来,Chinese-English害人不浅。
» 阅读全文
分类: 微风笔记 | 评论: 1
shiny 写于 2009, January 22, 9:08 PM
原本以为在windows不支持.htaccess,后来仔细端详,似乎.htaccess的支持是与操作系统无关而与apache是否开启mod_rewrite有关。
所以研究了一下,尝试了wamp的配置。
遇上了两个问题:
1、明明php.ini里设置了加载mysql.dll,却不支持mysql扩展。
2、mod_rewrite怎么配置啊。。。。
解决如下:
1、mysql.dll有它所依赖的dll,除了保证mysql.dll在path里,还需要保证它的依赖项也在path里。
具体哪些依赖关系,见PHP根目录下的snapshot.txt。
或者,使用安装版的PHP可以自己选定自己需要的扩展。
但系统重装之后一般就失效了。。。
2、除了在apache的httpd.conf里#LoadModule rewrite_module modules/mod_rewrite.so,将#删除之外,还要在httpd.conf里查找AllowOverride none,(需要.htaccess生效的目录)修改成 AllowOverride All。
可以使用替换。 OK。
这样wamp环境配置完毕。还可以仔细研究下httpd.conf、php.ini,来对开发环境作进一步定制,比如404页面,主目录位置等等。。。
» 阅读全文
分类: 微风笔记 | 评论: 0