℃冻番茄's Blog

Feed Rss

元旦加班,第二天也就是2号,起个大早,打开电脑准备秒杀回家火车票!
12306不给力,登了十多分钟才登上去,十点杭州放票,快十点半了票都没刷出来,等不了了,直接电话95105105,一打就通。然后屁颠屁颠得跑到城站火车站取票。

随便在火车站附近找了个小店吃饭。小店的水煮鱼非常给力!

13号的票,也就是这周五了。开始想念妈妈做的菜了····

o memcached是怎么工作的?
o memcached最大的优势是什么?
o memcached和MySQL的query cache相比,有什么优缺点?
o memcached和服务器的local cache(比如PHP的APC、mmap文件等)相比,有什么优缺点?
o memcached的cache机制是怎样的?
o memcached如何实现冗余机制?
o memcached如何处理容错的?
o 如何将memcached中item批量导入导出?
o 但是我确实需要把memcached中的item都dump出来,确实需要把数据load到memcached中,怎么办?
o memcached是如何做身份验证的?
o 如何使用memcached的多线程是什么?如何使用它们?
o memcached能接受的key的最大长度是多少?(250bytes)
o memcached对item的过期时间有什么限制?(为什么有30天的限制?)
o memcached最大能存储多大的单个item?(1M byte)
o 为什么单个item的大小被限制在1M byte之内?
o 为了让memcached更有效地使用服务器的内存,可以在各个服务器上配置大小不等的缓存空间吗?
o 什么是binary协议?它值得关注吗?
o memcached是如何分配内存的?为什么不用malloc/free!?究竟为什么使用slab呢?
o memcached能保证数据存储的原子性吗?

了解更多

下载地址:文本批量查找器Archive

刚看了一个视频,用照片欺骗android4.0的人面解锁功能,据我所说,很多电脑也带这个功能,但基本上都可以用照片的方式进行欺通过,毕竟照片和真实人面通过摄像头生成的都是相同的平形图形图像。

所以就想到一个方法

记录合法用户的几个不同的面部特征。比如 眨左眼 眨右眼 张大嘴 等不同的几个动作保存下来

在验证人面时,类似随机验证码的原理,随机通过动作的先后,例如:先眨右眼,再张嘴等来进行验证,这样一般来说,可以防止照片来欺骗

由于Redis集群可能在较长一段时间内还处理开发阶段,为了避免稳定版本由于这一原因被无限延后,于是从2.2版本fork出了一个2.4分支,这一分支目前进行了一些新的优化改进及bug修复,如果没有严重bug将会在近几个星期内发布稳定版本。

随后作者列出了2.4版本中的一大堆优化改进及Bug修复,主要有下面一些:

  • 对小数据量的sorted sets结构的内存使用做很大的优化
  • RDB文件的持久化速度也将会大大提高
  • 对目前的一些写操作命令进行了改进,支持批量写入功能
  • 启用新的内存分配模式 jemalloc.
  • 通过对copy on write机制使用的优化,数据持久化保存的子进程的内存占用将大大减少
  • INFO内容更加丰富
  • 新的OBJECT命令,提供对Redis存储value结构描述
  • 新的CLIENT命令,提供对Redis客户端连接的信息描述
  • 彻底将Slave对Master的连接改成非阻塞,之前connect(2)系统调用是会阻塞的
  • Redis-benchmark、Redis-cli 都进行了几个方面的改进
  • Make 改为彩色输出,更易读
  • VM机制彻底废弃
  • 总的来说2.4版本会在各方面有性能上的提升
  • Redis测试框架也有非常大的提升

了解更多

PHP开发组终于有了国人参与,  最近, Laruence(http://www.laruence.com),真名惠新宸,加入了PHP语言官方开发组.  做PHP的同学一定很熟悉他了, 他的博客风雪之隅发表了很多PHP源代码分析和扩展开发相关的文章.

 

他使用PHP扩展开发的PHP框架Yaf, 也进入了PHP官方扩展库(http://pecl.php.net/package/yaf),  这个框架借鉴目前最流行的PHP开发框架Zend Framework的设计, 迁移成本很低. 不过目前Yaf的英文文档还很不完善:http://www.php.net/manual/en/book.yaf.php, 中文文档稍微完善一些:http://yaf.laruence.com/manual/

Yaf的优点:
1. 用C语言开发的PHP框架, 相比原生的PHP, 几乎不会带来额外的性能开销.
2. 所有的框架类, 不需要编译, 在PHP启动的时候加载, 并常驻内存.
3. 更短的内存周转周期, 提高内存利用率, 降低内存占用率.
4. 灵巧的自动加载. 支持全局和局部两种加载规则, 方便类库共享.
5. 高性能的视图引擎.
6. 高度灵活可扩展的框架, 支持自定义视图引擎, 支持插件, 支持自定义路由等等.
7. 内建多种路由, 可以兼容目前常见的各种路由协议.
8. 强大而又高度灵活的配置文件支持. 并支持缓存配置文件, 避免复杂的配置结构带来的性能损失.
9. 在框架本身,对危险的操作习惯做了禁止.
10.更快的执行速度, 更少的内存占用.

Yaf现在在国外已经被很多人关注, 包括Zend Framework的作者, 也在twitter上推荐了Yaf:
julienPauli:
pecl/yaf finally made it : A framework, inspired by ZendFramework, entirely writen in a C extension

switchhosts是firefox下一个非常好用的hosts切换工具,但是插件的作者更新缓慢,或者说是firefox更新太快了,所以switchhosts最新版的1.1只支持firefox3 和 firefox4

可是现在firefox都6.0了,所以只好下载了一个switchhosts,修改了里面的配置,支持最高的版本数,直接从4改成了14

可以在一定时期内不需要担心switchhosts不兼容新版firefox的问题了

switchhosts下载 通过 firefox直接下载安装,或下载后,把文件拖到firefox中,会自动提示安装

下载地址

switchhosts-1.1.0-fx-windows.xpi

分享一段网站找到的js特效代码,基于jquery

效果是类似cnbate.com,滚动条下拉到底部的时间,在下面自动加载新内容,就可以免分页了。不过cnbeta貌似不支持chrome

$(window).scroll(function(){
aa=parseInt($(document).height()); //获取文档的高度
oo=parseInt($(document).scrollTop()); //获取滚动条到顶部的垂直高度
 
if((aa-oo)<800){
if(!window.ia){
ia=1;
$.post("sys.php",{work:"hotels",s:('a=c+d 中国e+f&g>h')},function(msg){//用ajax即时获取伺服器上的资料
if(msg.length>0){
$("#index #tab5 #tab19").last().after(msg);
ia=null;
}else{
$("#index #div2").last().remove();
$("#index #tab5 #tab19").last().after('<span>Error:没有搜寻到任何结果,请尝试更换搜寻条件!</span>');
}
});
}
}
});

半个月前buyvm kvm放货,因为事先写了脚本监控buyvm放货情况,凌晨放货,早上起来是收的email,抢的时候就只剩最后一个了,只是线路不太好,是he的。

刚买的时候并不稳定,应该是有不少人在做测试,就放了半个月,今天顺便付了一下下个月的账单。

新买的kvm准备用来做些垃圾站,赚些宝宝奶粉钱。

目前博客所在vps为buyvm 15$年,很稳定,nlayer 的线路,电信联通速度不错,不常抽!以后接着放博客和其它几个小流量企业站

上周新注册了一个域名 http://lhold.com 目前 还没想好用来做什么站,暂时放一个dedecms 集了些数据。

这周五回南昌过十一了,上星期电话抢的票,就是电话比较难打,定好后,晚上排队取票时非常happy!不怕票卖光了~~~~

备份脚本适用于国外的vps,备份速度快。非linux客户端方式上传,无需实时运行dropbox客户端,只需要上传数据时调用,更省资源!
dropbox上传并非采用的是linux客户端,而是网上一个curl上传的shell脚本,配合数据备份脚本实现vps数据的分卷压缩,上传到dropbox,从而实现vps上数据的异地备份。
采用分卷压缩是因为dropbox限制了单文件上传的大小。

uploader.sh 脚本下载:http://ye55.com/uploader.sh

#! /bin/bash
f=`date +%Y%m%d`
tar zcvf /home/backup/file/$f.tar.gz /home/wwwroot /home/sh /usr/local/nginx/conf/vhost /home/svn
cd /home/backup/file/
tar czvfp - /home/backup/file/$f.tar.gz | split -d -b 300m
echo 'Upload dropbox';
filelist=`ls /home/backup/file/x*`
for filename in $filelist
do
        sleep 1s
        sh /home/sh/uploader.sh dropbox账号 密码 $filename file/$f
done
rm /home/backup/file/* -rf
echo 'ok';