Browsing: MongoDB

阅读Monolog源码,看其中的设计模式(1)

Monolog的代码结构如下:

QQ20160225-0

我们的测试入口文件,test.php。

我们分析下Monolog注册表。代码如下:

我们从函数级别看这个类:

QQ20160225-1

这里先普及下,__callStatic函数:

用静态[……]

Read more

{ Add a Comment }

Mongo数据导出mongoexport,查询条件的设定

这个导出过程跟时间有关的操作如下:

QQ20151109-0

首先,时间格式的转化,接下来是执行导出操作命令:

QQ20151109-1

是不是很简单,我自己只是做个记录,便于后期大量迁移是写脚本用。

{ 1 Comment }

mongo单机分片搭建过程

最近这段时间,公司资源比较紧缺吧,所以服务器数开始压缩一半,减少开支,避免浪费,你懂的。测试的mongo集群原来是两台,真是有点浪费,所以今天改为一台运行多个分片吧。

在/data目录下创建两个文件夹mongodb1,mongodb2:
[crayon-5bf15ca5dd298312912[……]

Read more

{ 3 Comments }

Mongo MapReduce使用统计uv(三)

Mongo v2.0起,限制返回的数据大小不能超过16M,  之前是不能超过4M。

uv统计过程中,日志中发现超过16M限制的报错。

最近, 找到了一个好的方法, 就是存在临时集合中,

还是拿上一次的东西来举例,link_page.js脚本代码如下:
[crayon-5bf15c[……]

Read more

{ Add a Comment }

Mongo MapReduce使用统计uv(二)

mongo支持 JavaScript脚本运行:

shell中运行:

shell运行中加上–quit:
[crayon-5bf15ca5e5cbf274673[……]

Read more

{ Add a Comment }

Mongo MapReduce使用统计uv

今天帮同事跑数据,写的js代码有点复杂,网上找了半天,看见一个网页这么说

select DISTINCT last_name from users
db.users.distinct(‘last_name’)
去掉重复值

但是没法进行query查询了,无奈之下,去找新[……]

Read more

{ Add a Comment }

Mongo日期

当通过mongo shell来插入日期类型数据时,使用new Date()和使用Date()是不一样的:

 

我们看:使用new Date(),插入的是一个isodate类型;而使用Date()插入的是一个字符串类型。

那isoda[……]

Read more

{ Add a Comment }

存储数据主要有哪几种

有4个主要选项用于存储数据:

文本文件 对于很少更新的少量数据,这是理想的选择(例如配置文件),在应用程序中用于记录事件或者错误。

会话数据 对于只为下一次请求或者访问持续期间所需的数据,可以在用户的会话中存储的信息。为临时数据使用会话是最佳的方法,因为使用会话将避免记录过多数据,或者添加功能以[……]

Read more

{ Add a Comment }