memcache和memcached之间的区别和联系【转】 07月11日
由于在项目后期会引入缓存策略对角色的数据进行缓存,而现在我们大部分缓存都使用文件缓存,开发过网页游戏的朋友们大都知道,语言包和游戏相关的数 据大部分不经常改动,有时候几个星期不需要更新,只是在进行版本更新的时候才重新生成一次数据缓存,而角色的数据和数值时刻在变化着,会频繁的更新和操 作,采用文件缓存会频繁地进行I/O操作,在这个功能上文件缓存就不太适合了,所以对于角色的数据采取内存缓存策略在这里就比较合适。
对于内存缓存,比较常用的有两种memcache和memcached扩展。而memcached和memcache的守护进程memcached同名, 比较容易引起混淆,甚至提到memcached,有些人第一想到的是后台的守护进程,这里还是有必要分析一下两者之间的区别,以下观点仅是个人观点,希望 朋友进行补充和更正。
首先我们可以从php官方手册上可以清晰的看到两者的区别:
memcache:http://cn2.php.net/manual/en/book.memcache.php
memcached:http://cn2.php.net/manual/en/book.memcached.php
memcache是完全在PHP框架内开发的,memecached是使用libmemcached的。从手册上看,memcached 会比 memcache 多几个方法,使用方式上都差不多。 (更多…)
PHP5.4改变的新特性(未完待续) 07月04日
PHP5.4改变的特性
20 Jun 2011, PHP 5.4.0 Alpha 1
- autoconf 2.59+ is now supported (and required) for generating the
configure script with ./buildconf. Autoconf 2.60+ is desirable
otherwise the configure help order may be incorrect. (Rasmus, Chris Jones)
删除的特性:
. break/continue $var syntax. (Dmitry)
. Safe mode and all related ini options. (Kalle) //删除安全模式相关的所有函数和配置
. register_globals and register_long_arrays ini options. (Kalle) //删除这两个函数配置文件中的内容
. import_request_variables(). (Kalle) //
. allow_call_time_pass_reference. (Pierrick)
. define_syslog_variables ini option and its associated function. (Kalle)
. highlight.bg ini option. (Kalle)
. Session bug compatibility mode (session.bug_compat42 and
session.bug_compat_warn ini options). (Kalle)
. session_is_registered(), session_register() and session_unregister()
functions. (Kalle)
. y2k_compliance ini option. (Kalle)
- Moved extensions to PECL: (Johannes) //sqlite 被移动到PECL中
. ext/sqlite. (更多…)
BASE64编码的图片在网页中的显示【转】 06月27日
摘编自:http://www.javaeye.com/topic/314651 原作者:mfcai 1.为什么 [...]
利用Curl、socket、file_get_contents POST数据 05月16日
/** * Socket版本 * 使用方法: * $post_string = "app=socket&version=beta"; * request_by_socket('facebook.cn','/restServer.php',$post_string); */ function request_by_socket($remote_server,$remote_path,$post_string,$port = 80,$timeout = 30){ $socket = fsockopen($remote_server,$port,$errno,$errstr,$timeout); if (!$socket) die("$errstr($errno)"); fwrite($socket,"POST $remote_path HTTP/1.0"); fwrite($socket,"User-Agent: Socket Example"); fwrite($socket,"HOST: $remote_server"); fwrite($socket,"Content-type: application/x-www-form-urlencoded"); fwrite($socket,"Content-length: ".strlen($post_string)+8.""); fwrite($socket,"Accept:*/*"); fwrite($socket,""); fwrite($socket,"mypost=$post_string"); fwrite($socket,""); $header = ""; while ($str = trim(fgets($socket,4096))) { $header.=$str; } $data = ""; while (!feof($socket)) { $data .= fgets($socket,4096); } return $data; }
/** * Curl版本 * 使用方法: * $post_string = "app=request&version=beta"; * request_by_curl('http://facebook.cn/restServer.php',$post_string); */ function request_by_curl($remote_server,$post_string){ $ch = curl_init(); curl_setopt($ch,CURLOPT_URL,$remote_server); curl_setopt($ch,CURLOPT_POSTFIELDS,'mypost='.$post_string); curl_setopt($ch,CURLOPT_RETURNTRANSFER,true); curl_setopt($ch,CURLOPT_USERAGENT,"Jimmy's CURL Example beta"); $data = curl_exec($ch); curl_close($ch); return $data; } ?>
/** * 其它版本 * 使用方法: * $post_string = "app=request&version=beta"; * request_by_other('http://facebook.cn/restServer.php',$post_string); */ function request_by_other($remote_server,$post_string){ $context = array( 'http'=>array( 'method'=>'POST', 'header'=>'Content-type: application/x-www-form-urlencoded'."". 'User-Agent : Jimmy's POST Example beta'."". 'Content-length: '.strlen($post_string)+8, 'content'=>'mypost='.$post_string) ); $stream_context = stream_context_create($context); $data = file_get_contents($remote_server,FALSE,$stream_context); return $data; } ?>
php技术大会2011 05月08日
2011-05-07,在北京长城饭店参加完了2011年php技术大会,这个算是中国php的最高技术论坛吧,到场的人大概有1000多,当然,百度、腾讯、淘宝、新浪等大公司来的人应该超过了一半。php,这个顶着中国70%左右的互联网流量的编程语言,神奇的把大家聚合在了一起。
《构建高性能web站点》——网络传输 03月28日
网络传输,算是互联网最原始的形态,从最初的smtp、ftp、telnet形成的相关的协议到最后的http一统天 [...]
回到我的技术博客 03月11日
这段时间什么都不想想,上次写日志是在过年的时候,转眼间已经一个月过去了。
生活就是这样,在迷茫中思考,也许,这个过程很艰难,但是,这也是成长。
从现在开始,我的博客将转入一个技术博客,我将记录我所有的技术历程。
河马归来
http各个版本以及https 12月06日
决定仔细研究一下http的协议了,从业这么久来还没有仔细看过http协议,我表示很震惊。
HTTP(HyperText Transfer Protocol)目前有三个版本:HTTP0.9 HTTP1.0 HTTP1.1
HTTP0.9是最早的一个版本,定义了一些简单的请求和应答。
HTTP1.0比较完善,目前应用最广泛
HTTP1.1增加了大量的报头域,用来与时俱进,并且对1.0中的一些做了严格的规定。
HTTP1.1 提供了一个给予口令基本认证方法,比如你可以在apache中配置的那个访问口令就是这个协议的实现。在身份认证上,针对基本认证方法以明文传输口令这一个最大缺点,补充了摘要认证方法,不再传递口令明文,而是将口令经过善猎函数变换后传递他的摘要。
HTTP的协议的升级版SHTTP,就是https。最新版SHTTP1.3建立在HTTP1.1基础上,提供了数据加密、身份认证、数据完整、防止否认等能力。
我来新浪1年了 10月19日
如果说,这是一个日子的话,我希望记录下来,这是我工作第一年的记录。
我来新浪实习、工作已经一年了,经历了一个冬夏春秋,我突然发现一年过得是那么的洒脱,或许,我应该早一点开始写博客,这样我会有更多回忆的东西。
到现在为止,我只能通过我的点点滴滴的每日计划和一些笔记去回忆这一年的工作经历,我确实,应该早点整理自己的记录。
这一年,算我学习的一年吧,在新浪视频待的这段时间,我学到了很多很多的东西,感谢在部里面所有带领我的前辈们,但是我真的不知道该用什么方式来感谢。
今天,我开通了我的技术博客http://www.heyues.com ,我将用笔来记录我的技术生活,整理自己的知识,分享自己的研究。
在前几个月我就修改了我的msn的状态为“每周,都要花点时间来研究一下别的技术”,我希望在接下来的一年里面,我在先搞好我的本职工作——网络应用开发工程师的基础上,尽量再多研究一些其他的东西——比如系统开发,系统运维,手机开发等,我希望这是我的一个目标,有目标总比没有目标好。