Python和Node.js支持尾递归吗?
摘要:什么是尾递归?简单来说就是最后返回的只是一个函数的调用,而不用保存多余的局部变量。看一个简单的计算阶乘的例子(Lua代码):function fact(n) return n==0 and 1 or n * fact(n-1)end 改成尾递归的方式就是:function tail_fact(n, p) p = p or 1 if n==0 then return p end return tail_fact(n-1, n*p)end 关于尾递归的更详细说明请参考: http://en.wikipedia.org/wiki/Tail_call因为使用尾递归方式的时候,是不用保存局部变量的了,所
阅读全文
posted @
2011-07-31 01:52
Q.Lee.lulu
阅读(6861)
推荐(1) 编辑
小文件、nginx、Redis、Moosefs
摘要:现在有3KW的数据,单条数据都很小的,如果按key-value来看的话,key就是32位的MD5字符串,value按平均算大概是100字节左右。现在需要将这些数据做缓存以在高并非的时候依然可以快速响应。因为这些数据基本没有冷热数据之分,所以需要将全部数据都放到缓存中。1、直接生成静态文件,利用nginx对静态文件的高效做静态缓存。当时服务器硬件资源有限,所以就采用这种方式,一直源用至今。服务器间通过NFS来共享太多小文件,不方便管理NFS不方便运维与扩展文件内容很小(100字节左右),3KW大概就是2.5G大小左右不过文件存储的时候和硬盘分区的族大小有关,在这里磁盘分区的族大小为8K,所以尽管
阅读全文
posted @
2011-07-13 20:38
Q.Lee.lulu
阅读(5836)
推荐(0) 编辑