浏览模式: 普通 | 列表

数据库高并发的经验分享

[ 2012-12-19 13:56:38 | 作者: admin ]
主要是针对数据量很大,和并发访问量高的时候

经验一:
在开发过程中,我们经常会写
SELECT * FROM table WHERE 1 ORDER BY xxx DESC LIMIT 0,10
这样的语句用来分页

在有完美索引的情况 对xxx建立索引
前面几页会很快,但如果数据量达到100万级以后,我们查询最后一页
SELECT * FROM table WHERE 1 ORDER BY xxx DESC LIMIT 999990,10

这句执行就会很慢,同时有多人访问服务器就会掉(这里不考虑缓存,因为内容更新太快,有时候缓存了达不到数据的更新的要求)

但如果我们把
SELECT * FROM table WHERE 1 ORDER BY xxx DESC LIMIT 999990,10
换成
SELECT * FROM table WHERE 1 ORDER BY xxx ASC LIMIT 0,10
...

阅读全文…

jQuery Mobile 入门教程

[ 2012-12-19 12:14:21 | 作者: admin ]
http://mobile.51cto.com/others-277308.htm


jQuery Mobile提供了基于手机界面的控件样式,可以方便地让你开发出符合手机操作习惯的界面。比如较大的按钮等等。

使用jQuery Mobile需要应用jQuery Mobile提供的js文件和css文件,可以直接url链接引用或者下载到本地引用皆可。参见以下代码:

<link rel="stylesheet" href="http://code.jquery.com/mobile/1.0b1/jquery.mobile-1.0b1.min.css" />
<script type="text/javascript" src="http://code.jquery.com/jquery-1.6.1.min.js"></script>
<script type="text/javascript" ...

阅读全文…
此文介绍一种,每天自动备份网站以及数据库文件,发送EMAIL到邮箱,并上传网站和数据加文件到FTP空间,自动删除旧备份的方法。

 

首先安装EMAIL发送组件:

yum install sendmail mutt

 

如果服务器未安装FTP客户端的见下文:

http://www.liukai.cn/centos-bash-ftp-command-not-found

 

脚本下载地址:

http://www.liukai.cn/soft/linux/AutoBackupToFtp.sh

 

脚本代码如下(注意修改FTP服务器地址用户名密码):

 

#!/bin/bash
#你要修改的地方从这里开始
MYSQL_USER=root #mysql用户名
MYSQL_PASS=123456 #mysql密码
MAIL_TO=cat@hostloc.com #数据库发送到的邮箱
...

阅读全文…

win2003 discuz的memcache 安装

[ 2012-12-17 21:55:03 | 作者: admin ]
p.s. discuz上memcache后效果异常明显,所以大部分中型php项目还是应当开启memcache。尤其是windows平台下面,应该有3倍以上性能提升

先去下载 安装程序 memcached-1.2.6-win32(可以百度搜索memcached win32查看更新版本)
然后解压到 d:\memcache
然后 开始—运行 d:\memcached\memcached.exe -d install 安装一下
在输入 d:\memcached\memcached.exe -d start 启动。
以后memcached将作为windows的一个服务每次开机时自动启动。这样服务器端已经安装完毕了。

去下载php_memcache.dll 整对版本了。。http://downloads.php.net/pierre/
(版本需要注意选择,...

阅读全文…

mysql的字符串函数

[ 2012-12-17 14:55:08 | 作者: admin ]
对于针对字符串位置的操作,第一个位置被标记为1。
1.ASCII(str)
返回字符串str的最左面字符的ASCII代码值。如果str是空字符串,返回0。如果str是NULL,返回NULL。
mysql> select ASCII('2');
               -> 50
mysql> select ASCII(2);
               -> 50
mysql> select ASCII('dx');
               -> 100
也可参见ORD()函数。
2.ORD(str)
如果字符串str最左面字符是一个多字节字符,通过以格式((first byte ASCII code)*256+(second byte ASCII code))[*256+third byte ASCII code...]返回字符的ASCII代码值来返回多字节字符代码。如果最左面的字符不是一个多字节字符。返回与ASCII()函数返回的相同值。
...

阅读全文…
目前可以编译成 iPhone 和 Android 应用的开发工具比较多,appcan和PhoneGap都做得不错

AppCan是国内领先的移动应用开发平台,支持HTML5快速开发手机应用,同时支持iOS、Android、Symbian、WindowsPhone。
http://www.appcan.cn/


PhoneGap是一个开源的开发框架,使用HTML,CSS和JavaScript来构建跨平台的的移动... 除了在本地编译应用之外,您还可以使用Phonegap提供的云端Build工具进行应用编译。
http://www.phonegap.com
http://www.phonegap.cn

网页自适应屏幕的设置方法

[ 2012-12-15 14:09:06 | 作者: admin ]
随着3G的普及,越来越多的人使用手机上网。

移动设备正超过桌面设备,成为访问互联网的最常见终端。于是,网页设计师不得不面对一个难题:如何才能在不同大小的设备上呈现同样的网页?
attachments/201212/15_140946_.jpg


手机的屏幕比较小,宽度通常在600像素以下;PC的屏幕宽度,一般都在1000像素以上(目前主流宽度是1366×768),有的还达到了2000像素。同样的内容,要在大小迥异的屏幕上,都呈现出满意的效果,并不是一件容易的事。

很多网站的解决方法,是为不同的设备提供不同的网页,比如专门提供一个mobile版本,或者iPhone / iPad版本。这样做固然保证了效果,但是比较麻烦,同时要维护好几个版本,而且如果一个网站有多个portal(入口),会大大增加架构设计的复杂度。

于是,很早就有人设想,能不能"一次设计,普遍适用",...

阅读全文…
p.s. 使用mb_strlen函数必须指定编码

在长度检查方面,数据库使用的是varchar,长度是按字符个数算的,比如“abcdef”算6个字符,“一二三四五六”也算六个字符。而php的strlen方法算出并不一样,strlen("abcdef")是6,而strlen("一二三四五六")是18。这样检查起来就麻烦了。

php处理中文字符数,可以用mb_strlen() ,具有编码无关性,看下面的演示:

mb_strlen('abcdef','utf-8') == 6
mb_strlen('一二三四五六','utf-8') ==6

另外中文的截取也需要mb_substr()也是编码无关性,看演示
<?php   
echo mb_substr('曾经年少爱追梦一心只想往前飞', 0, 7, 'utf-8');   
...

阅读全文…