0%


You-get 介绍

You-Get 是一款命令行工具,用来下载网页中的视频、音频、图片,支持众多网站,包含 41 家国内主流视频、音乐网站,如 网易云音乐、AB 站、百度贴吧、斗鱼、熊猫、爱奇艺、凤凰视频、酷狗音乐、乐视、荔枝FM、秒拍、腾讯视频、优酷土豆、央视网、芒果TV 等等,只需一个命令就能直接下载视频、音频以及图片回来,并且可以自动合并视频。而对于有弹幕的网站,比如 B 站,还可以将弹幕下载回来。本篇文章介绍 you-get 的安装

阅读全文 »


  1. 括号匹配问题
  2. 1000w 个 URL,只有 1M 的内存怎么排序
  3. 写出 10 个 array 相关的方法
  4. 写出 5 个魔术方法
  5. __autoload 魔术方法的使用
  6. PHP 的垃圾回收机制
  7. redis 的持久化方法及实现
  8. redis 的主从同步的实现
  9. 10w 的库存,4wqps 的秒杀实现
  10. golang 的垃圾回收
  11. 进程线程协程


下载

Sphinx 官网:http://sphinxsearch.com/
wget http://sphinxsearch.com/files/sphinx-2.2.10-release.tar.gz

安装

解压压缩包

1
2
tar zxvf sphinx-2.2.10-release.tar.gz
cd sphinx-2.2.10-release

找到 mysql 的安装目录,我的是在 /usr/bin/mysql 执行 /usr/lcoal/sphinx 为 sphinx 的安装目录。

1
2
3
sudo ./configure --prefix=/usr/local/sphinx --with-mysql=/usr/local/mysql
make
make install

不出问题的话应该已经安装成功了

阅读全文 »


Sphinx 简单介绍

  1. 介绍
    Sphinx 是一个基于 SQL 的全文检索引擎,可以给 Mysql、PostgreSQL 做检索,提供比数据库更加专业的搜索功能。Sphinx 的搜索API接口支持 PHP,Python,Ruby,等。Sphinx 单一索引最大可包含1亿条记录,在1千万条记录情况下的查询速度为0.x秒(毫秒级)。Sphinx创建索引的速度为:创建100万条记录的索引只需 3~4分钟,创建1000万条记录的索引可以在50分钟内完成,而只包含最新10万条记录的增量索引,重建一次只需几十秒

  2. 主要特性

  • 高速索引
  • 高速搜索
  • 支持分布式搜索
  • 提供从Mysql 内部的插件式存储引擎上搜索
  • 采用 UTF-8 字符集
  • 支持 Windows/Linux/MacOX
  1. 使用场景
    如果数据库的数据量不是很多,百万级的数据,可以采用数据库索引来进行检索,但是对于上千万的数据量的话就用数据库直接检索的效率就会有所下降,特别对于采用分库分表的数据库设计,如果要检索非主键的字段的话,将会非常麻烦。
    比如用户表 user,用户量大的时候,我们一般会采用分表的方式来提高应用的访问性能。user_0 ~ user_63 ,总共 64 张表,user_id 作为 主键
    表结构如下。
    user_id name password age
    int char(100) char(32) int
    如果知道 user_id = 65,那我们很容易找到用户的信息, 65 % 64 = 1,那就在 user_1 表中,采用 select from user_1 ….
    但是如果我想检索名字叫 “phachon” 的用户,这个就比较麻烦了,最笨的办法就是每一张表都去查找 select
    from user_* where name LIKE %phchon% ,这样要循环 64 次,再将数据合并起来,这样显然是不可行的,数据库的开销太大,造成应用程序的性能下降。

Sphinx 就可以帮我们解决上面所说的问题。当然,Sphinx 可以应用的场景很多,上面只是其中的一种。

阅读全文 »


最近工作中接触到关于网络编程的一些东西,发现对于网络、IO编程、socket、进程、线程、协程、TCP/IP等基本知识理解不够深入。所以需要从头到尾总结一下。

阅读全文 »


crontab 执行 php 脚本

linux 下的 crontab 定时任务服务,可以用来定时运行脚本。工作中经常会用到这样的服务,使用起来比较简单。

1
2
3
4
5
6
7
8
/sbin/service crond start  # 开启服务
/sbin/service crond stop # 停止服务
/sbin/service crond restart #重启服务
/sbin/service crond reload #重新加载服务

sudo crontab -e #插入一条定时任务
sudo crontab -l #查看所有的 root 用户下的定时任务列表
tail -f /var/log/cron # 实时查看定时任务日志
阅读全文 »


系统相关

  • who 显示在线登录用户
  • whoami 显示当前操作的用户
  • hostname 主机名
  • top 显示当前耗费最多的进程以及内存消耗
  • ps -aux 显示所有的进程信息
  • df 查看磁盘所占大小
  • -h 带单位
  • ifconfig 网络信息
  • ping 测试网络连接
  • netstat 网络状态信息
  • kill 杀死进程
  • clear 清屏
  • shutdown
    • -r 关机重启
    • -h 关机不重启
    • now 立刻关机
  • reboot 重启
阅读全文 »


__call 方法的使用

定义:在对象中调用一个不可访问方法时,__call() 会被调用。

阅读全文 »