题目要求:
给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。
示例:
输入: [0,1,0,3,12]
输出: [1,3,12,0,0]
说明:
必须在原数组上操作,不能拷贝额外的数组...
main.cpp
#include <iostream>
#include <cassert>
#include <ctime>
#include "MyUtil.h"
using namespace std;
// 二分查找法
template<typename T>
int binarySearch(T a...
分片集群添加数据角色,连接到路由角色里面配置,数据角色为副本集的方式
/usr/local/mongodb/bin/mongo 127.0.0.1:27017
sh.addShard("shijiangedata1/127.0.0.1:29017,127.0.0.1:29018")
sh.addShard("shiji...
数据角色
分片集群的数据角色里面存储着真正的数据,所以数据角色一定得使用副本集
多个数据角色
mongodb的数据角色搭建,配置文件/data/mongodb/29017/mongodb.conf
systemLog:
destination: file
...
router说明
mongodb中的router角色只负责提供一个入口,不存储任何的数据
router角色的搭建,配置文件/data/mongodb/27017/mongodb.conf
systemLog:
destination: file
logAppend: true
...
mongodb分片
一般用得比较少,需要较多的服务器,还有三种的角色
一般把mongodb的副本集应用得好就足够用了,可搭建多套mongodb复本集
mongodb分片技术
mongodb副本集可以解决数据备份、读性能的问...
mongodb监控
使用Python去监控mongodb状态
获取mongodb的serverStatus状态信息,一般状态信息需要每个实例都进行监控
import pymongo
client = pymongo.MongoClient('127.0.0.1',27017)
db = ...
使用程序操作mongodb
mongodb可以使用java、python、php等语言去操作
运维使用Python居多,介绍使用python操作Mongodb数据库
使用python操作mongodb,需要使用pip安装pymongo模块
yum install epel...
mongodb的备份和恢复
单台服务器一定需要备份
mongodb有提供mongodump工具用来备份数据
mongodb也有提供mongorestore工具用来恢复数据
mongodb备份说明,指定ip和端口
单台服务器直接使用mongodum...
mongodb副本集伸缩说明
mongodb副本集的扩展非常好,往副本集里添加实例和移除实例都非常方便
往mongodb副本集添加实例数据能够自动同步,无需人工干预
往现有mongodb副本集中添加实例
创建27020实...
mongodb副本集的主的选举
primary的选举依赖于各个实例的优先权重,默认权重都是1
复本集的主挑选权重最高的,权重一样的无法控制谁为主
设置各个实例的优先权重,挑选自己想要的实例为主,只有prim...
mongodb的副本集自动切换
mongodb的副本集当primary挂了,会挑选其中的一台secondary升为主
挑选其中一台secondary升级为primary的条件是剩下的集群台数>=2
如果集群只剩下一个实例的话,会有异常
...
mongodb单台服务器
数据会有丢失的风险
单台服务器无法做高可用性
mongodb副本集能够预防数据丢失,多台mongodb数据一致
mongodb副本集能够在有问题的时候自动切换
实战说明
使用两台服务器实战m...
mongodb实时监控之mongostat
mongostat可以实时监控mongodb的状态,一直刷新输出
/usr/local/mongodb/bin/mongostat --help
/usr/local/mongodb/bin/mongostat -h 127.0.0.1:27017
测试脚本
use ...
mongodb数据准备
use shijiange
for(i=1; i<=500000;i++){
db.myuser.insert( {name:'mytest'+i, age:i} )
}
mongodb有慢查询的概念,默认是超过100ms会记录慢日志mongodb.log
db.getProfil...