最近新开了一个项目,需要做抓取任务。不同的是本次我决定使用daemon进程的方式抓取,而不是使用以前定时任务的方式。这样就面临一个问题,如何保持Redis链接呢?
以前在daemon程序中进场遇到MySQL server gone away的情况,但是这里部门框架的ORM组件好像做了优化,不用考虑DB丢失链接的问题。但还是意料之中的遇到了Redis server gone away的情况。当然并不是程序抛出了这……
MySQL分组后获取每组特定列最大值的记录
如果只是获取特定列的最大值,很简单。
SELECT MAX(price) FROM tb_stuff GROUP BY shop_id;
但是这里我们要获取每一组符合最大值的记录完整值,这里用个黑科技,先子查询内部排序以后,再从外部分组查询。
SELECT *,tmp.id as id FROM (SELECT * FROM tb_stff ORDER BY price D……
sphinx中bigint类型兼容问题
编译sphinx时如果没有加如下./configure --enable-id64的参数的话,是不支持mysql中bigint类型的字段的主键。如果此时不想重新编译sphinx,我们还有曲线救国的方法。
比如我们数据表的自增id字段为bigint类型,且为主键。
可以修改conf文件中的sql_query,添加select项目:select id, id as id_str,other_content from tab……