霍克依毒间

导航

 

2013年2月8日

摘要: Redis有一系列的命令,特点是以NX结尾,NX是Not eXists的缩写,如SETNX命令就应该理解为:SET if Not eXists。这系列的命令非常有用,这里讲使用SETNX来实现分布式锁。用SETNX实现分布式锁利用SETNX非常简单地实现分布式锁。例如:某客户端要获得一个名字foo的锁,客户端使用下面的命令进行获取:SETNX lock.foo <current Unix time + lock timeout + 1>如返回1,则该客户端获得锁,把lock.foo的键值设置为时间值表示该键已被锁定,该客户端最后可以通过DEL lock.foo来释放该锁。如返回0, 阅读全文
posted @ 2013-02-08 15:57 霍克依毒间 阅读(318) 评论(0) 推荐(0) 编辑
 
摘要: Tornado异步非阻塞的I/O模型的确让人耳目一新,Tornado的优势主要在于对大量Comet长轮询连接的维护上。这也是FriendFeed开发Tornado的原因-----因为FriendFeed需要实时更新Timeline,而Comet又是目前最好,最流行的方法。由于知乎也有大量长轮询连接需要维护,所以选择Tornado也就在情理之中了。但是我们也要看到,Tornado不是万金油,由于Tornado的WEB服务器为单线程,一个Request如果阻塞了I/O,那么这个进程将一直挂起,既无法接受新的Request,也无法Finish正在阻塞的其它Request。虽然可以Spawn多个Tor 阅读全文
posted @ 2013-02-08 15:34 霍克依毒间 阅读(1680) 评论(0) 推荐(1) 编辑
 
摘要: 主要模块web – FriendFeed 使用的基础 Web 框架,包含了 Tornado 的大多数重要的功能escape – XHTML, JSON, URL 的编码/解码方法database – 对 MySQLdb 的简单封装,使其更容易使用template – 基于 Python 的 web 模板系统httpclient – 非阻塞式 HTTP 客户端,它被设计用来和 web 及 httpserver 协同工作auth – 第三方认证的实现(包括 Google OpenID/OAuth、Facebook Platform、Yahoo BBAuth、FriendFeed OpenID/OA 阅读全文
posted @ 2013-02-08 15:12 霍克依毒间 阅读(376) 评论(0) 推荐(0) 编辑
 
摘要: 1.1 基本操作db.addUser(username,password) //添加用户db.auth(usrename,password) //设置数据库连接验证db.cloneDataBase(fromhost) //从目标服务器克隆一个数据库db.commandHelp(name) //returns the help for the commanddb.copyDatabase(fromdb,todb,fromhost)//复制数据库fromdb---源数据库名称,todb---目标数据库名称,fromhost---源数据库服务器地址db.createCollection(name,{ 阅读全文
posted @ 2013-02-08 15:09 霍克依毒间 阅读(149) 评论(0) 推荐(0) 编辑
 
摘要: 系统uname -a # 查看内核/操作系统/CPU信息head -n 1 /etc/issue # 查看操作系统版本cat /proc/cpuinfo # 查看CPU信息hostname # 查看计算机名lspci -tv # 列出所有PCI设备lsusb -tv # 列出所有USB设备lsmod # 列出加载的内核模块env # 查看环境变量资源free -m # 查看内存使用量和交换区使用量df -h # 查看各分区使用情况du -sh# 查看指定目录的大小grep MemTotal /proc/meminfo # 查看内存总量grep MemFree /proc/meminfo # 查 阅读全文
posted @ 2013-02-08 15:08 霍克依毒间 阅读(152) 评论(0) 推荐(0) 编辑