12 2017 档案
摘要:副本集与仲裁
阅读全文
摘要://Mongodb数据的导入导出 1: 导入/导出可以操作的是本地的mongodb服务器,也可以是远程的. 所以,都有如下通用选项:(本地机就不用这个了) -h host 主机 --port port 端口 -u username 用户名 -p passwd 密码 2: mongoexport 导出json格式的文件 问: 导出哪个库,哪张表,哪几列,哪几行? -d 库名 ...
阅读全文
摘要:用户管理: 注意: 添加用户后,我们再次退出并登陆,发现依然可以直接读数据库? 原因: mongodb服务器启动时, 默认不是需要认证的. 要让用户生效, 需要启动服务器时,就指定 --auth 选项. 这样, 操作时,就需要认证了. use admin //在mongodb中,有一个admin数据库, 牵涉到服务器配置层面的操作,需要先切换到admin数据.即 use admin ...
阅读全文
摘要:索引(就像书的目录,先找大致的位置再细找,不是从头开始找): mongodb每行的列可以完全不同,没有列的概念。 索引作用类型: 1:单列索引 2:多列索引 3:子文档索引 索引性质: 0:普通索引 1.唯一索引 2.稀疏索引 3.哈希索引 语法: db.collections.ensureIndex({field:1}); 注: 1:默认是增序建索引。 2:默认索引是用btree...
阅读全文
摘要:游标cursor: 通俗的说,游标不是查询结果,而是查询的返回资源,或者接口. 通过这个接口,你可以逐条读取.就像php中的fopen打开文件,得到一个资源一样, 通过资源,可以一行一行的读文件. var cursor1 = db.bar.find({}); //10000条没有输出, db.bar.find().count(); var cursor1 = db.bar.find(...
阅读全文
摘要:核心: mongod: 数据库核心进程 mongos: 查询路由器,集群时用 mongo: 交互终端(客户端) 二进制导出导入: mongodump:导出bson数据 mongorestore: 导入bson bsondump: bson转换为json monoplog: 数据导出导入 mongoexport: 导出json,csv,tsv格式 mongoimport: 导入json,c...
阅读全文
摘要:mysql权限管理: mysql的权限控制,首先在user表判断有没有权限连,连上后看有没有全局权限。然后看db表有哪些库级别的权限。然后看tables_priv表有哪些表级别的权限。最后还可以看有哪些列级别的权限。 mysql权限检查: 1.有没有权连接上来 2.有没有权执行操作(crud) 服务器是如何判断用户有没有权限连接上来: 1.你从哪里来,host 2.你是谁,user 3.你的...
阅读全文
摘要:drop procedure p12$ //删除存储过程 //游标cursor,一条sql对应n条资源,取出资源的接口/句柄就是cursor, 一条sql产生的n条结果不是一次性全部输出,而是返回一个地址,然后一个个的筛选。 //声明游标(declare),打开游标(open),打开游标就去数据库查询资源了,查到了并不是把所有的结果行返回给你,而是给你一个口,然后就可以去fetch(取值...
阅读全文
摘要:过程:若干语句,调用时执行封装的体。没有返回值的函数。 函数:是一个有返回值的过程 存储过程:把若干条sql封装起来,起个名字(过程),并存储在数据库中。 也有不存储的过程,匿名过程,用完就扔(mysql不支持匿名过程) create procedure p1() begin select 2+3; end$ show procedure status;//查看现有的存储过程...
阅读全文
摘要:触发器trigger:某条数据改变,希望其他数据也改变(一张表的数据改变,另一张表的数据也变)。监测insert,update,delete.能够监测增删改并出发增删改。 监测点(table)监测事件(insert,update,delete)触发时间(after,before)触发事件(insert,update,delete). 当下一个订单的时候,对应的商品库存减少。监视table ord...
阅读全文
摘要:常用的表的引擎 Myisam ,批量插入速度快, 不支持事务,锁表 Innodb, 批量插入相对较慢,支持事务,锁行. 全文索引:目前5.5版本,myisam,innodb都已经支持 关于事务的引擎: 选用innodb /bdb 开启事务: start transaction; Sql.... Sql.... Commit 提交 rollback 回滚 注意: 当一个事务commit,或者r...
阅读全文
摘要:Mongo存储的单位是文档,文档是js对象, use test2 db.createCollection("stu")//隐士创建库显示创建表 db.stu.insert({sn:001,name:"xiaoming"}) db.stu.find() use test2 db.stu.insert({sn:001,name:"xiaoming"})//隐士创建库和表 db.stu.find()...
阅读全文
摘要:配置Mongo服务端 安装MongoDB 1.按照操作系统下载http://www.mongodb.org/downloads。 2.在D盘新建MongoDB文件夹(此文件夹为自定义的数据库安装目录D:\MongoDB)把刚才下载的压缩包解压并把bin文件夹拷贝到MongoDB文件夹。 3.在Mon
阅读全文
摘要:Mysql中,表/列可以改名,database不能改名. phpMyAdmin似乎有这功能? 他是建新库,把所有表复制到新库,再删旧库完成的. 删除一个数据库: drop database 数据库名; 创建一个数据库: create database 数据库名 [charset 字符集] 查看一下所有的库,怎么办? Mysql>Show databases; 选库语句: Use 库名 删...
阅读全文
摘要:net start mysql mysql -uroot -p show databases use 数据库名 how tables -------------------------------------------------------------------------- select goods_id ,goods_name ,shop_price+1,market_price,...
阅读全文
摘要:2.下载完成后将其解压到你想要安装的路径下,例如我的解压到D:\MySql\mysql-5.7.12-winx64\路径下,刚解压完应该是下图这些文件夹:最好解压到根目录。 5.新建一个my.ini配置文件,此配置文件将覆盖当前文件夹下的my-default.ini文件,上一步设置显示文件后缀就是为
阅读全文
摘要:WindowsWindows下的安装也非常简单,只要到 SQLite3 的下载页面,下载 Windows 下的预编译包 DLL 的压缩包(sqlite-dll-win32-x86-XXX.zip),然后将里面的 DLL 文件拷贝到 system32 目录下即可。 另外,如果你已经安装 TMD 版的
阅读全文
摘要:app.conf appname = blog1 httpport = 8080 runmode = dev controllersmy package controllersmy //跟外面的包名一致 import ( "github.com/astaxie/beego" ) type MainController struct { beego.Controller ...
阅读全文
摘要:package main //gohttp底层实现,通过gohttp不是通过beego实现的输出 // import ( "io" "log" "net/http" ) func main() { //设置路由 http.HandleFunc("/", sayHello) err := http.ListenAndServe(":8080",...
阅读全文
摘要:package main //beego既可以建立web应用也可以建立api应用 //beego是一个gohttp服务器的高层封装, import ( _ "beego1/routers" "github.com/astaxie/beego" ) //beego是通过controller和router进行路由的转发 //控制器 type HomeController st...
阅读全文
摘要:1.配置环境变量GOPATH(代码路径,先在里面建立src,pkg,bin3个目录),GOROOT:go安装的目录,go安装目录下的bin目录放到Path环境变量. 安装完bee工具之后,bee 可执行文件默认存放在 $GOPATH/bin 里面,所以您需要把 $GOPATH/bin 添加到您的环境
阅读全文
摘要:yjf512 · 2015-02-21 11:09:07 · 1076 次点击 · 预计阅读时间 2 分钟 · 大约1分钟之前 开始浏览 这是一个创建于 2015-02-21 11:09:07 的文章,其中的信息可能已经有所发展或是发生改变。 当被问到为什么用Go语言,一定不得不提的是Go语言的并发
阅读全文
摘要:package main /* Channel Channel 是 goroutine 沟通的桥梁, goroutine是通过通信来进行内存的共享, 而不是通过内存的共享来进行通信,通过Channel通道来共享内存, 通过通道的通信(写进去在读出来)进行数据的传递,大都是阻塞同步的 通过 make 创建,close 关闭 Channel 是引用类型 可以使用 for range 来迭代不断操...
阅读全文
摘要:package main import ( "fmt" ) //go语言提供了一个结构或者形式来帮助处理多个channel的发送和接收问题,这个结构叫做select, //select和switch相近,但是select是专门针对channel的,可以同时处理多个channel的发送与接收, //当多个channel可以发送和接收的时候,按随机顺序处理,然后把一个个任务处理完, f...
阅读全文
摘要:package main /** 并发concurrency 很多人都是冲着 Go 大肆宣扬的高并发而忍不住跃跃欲试,但其实从 源码的解析来看,goroutine 只是由官方实现的超级“线程池”而已。 不过话说回来,每个实例 4-5KB 的栈内存占用和由于实现机制而大幅 减少的创建和销毁开销,是制造 Go 号称的高并发的根本原因。另外, goroutine 的简单易用,也在语言层面上给予了...
阅读全文
摘要:package main /** 反射reflection 反射可大大提高程序的灵活性,使得 interface{} 有更大的发挥余地 反射使用 TypeOf 和 ValueOf 函数从接口中获取目标对象信息 反射会将匿名字段作为独立字段(匿名字段本质) 想要利用反射修改对象状态,前提是 interface.data 是 settable, 即 pointer-interface - 通过反...
阅读全文
摘要:package main /* 接口interface 接口是一个或多个方法签名的集合 只要某个类型拥有该接口的所有方法签名,即算实现该接口,无需显示 声明实现了哪个接口,这称为 Structural Typing 接口只有方法声明,没有实现,没有数据字段 接口可以匿名嵌入其它接口,或嵌入到结构中 将对象赋值给接口时,会发生拷贝,而接口内部存储的是指向这个 复制品的指针,既无法修改复制品的状...
阅读全文
摘要:package main /* 方法method Go 中虽没有class,但依旧有method 通过显示说明receiver来实现与某个类型的组合 只能为同一个包中的类型定义方法 Receiver 可以是类型的值或者指针 不存在方法重载 可以使用值或指针来调用方法,编译器会自动完成转换 从某种意义上来说,方法是函数的语法糖,因为receiver其实就是 方法所接收的第1个参数(Method...
阅读全文
摘要:go语言没有class,struct就是go语言的class.
阅读全文
摘要:slice和map是引用类型, 匿名函数不能作为顶级函数,只能够放在函数里面, panic和recover类似于其他语言的try catch,用于异常的返回和错误的处理 。出现了错误panic,要从错误中恢复过来, 程序进入panic之后函数不再执行(类似于发生了错误跑出了异常),要想在panic之
阅读全文
摘要:package main /* 函数function Go 函数 不支持 嵌套、重载和默认参数。 但支持以下特性: 无需声明原型(C语言在使用函数之前需要声明函数的原型)、不定长度变参、多返回值、命名返回值参数、 匿名函数、闭包 定义函数使用关键字 func,且左大括号不能另起一行。 函数也可以作为一种类型使用 */ import ( "fmt" ) func ma...
阅读全文
摘要:package main /* map 类似其它语言中的哈希表或者字典,以key-value形式存储数据 Key必须是支持==或!=比较运算的类型,不可以是函数、map或slice, 这3中类型都不能实现== != 的运算,value的类型是任意的。 Map查找比线性搜索快很多,但比使用索引访问数据的类型慢100倍,可以使用slice或者数组的时候不要使用map. Map使用make()创建,...
阅读全文
摘要:package main /* 切片Slice 其本身并不是数组,它指向底层的数组 作为变长数组的替代方案,可以关联底层数组的局部或全部 为引用类型 可以直接创建或从底层数组获取生成 使用len()获取元素个数,cap()获取容量 一般使用make()创建 如果多个slice指向相同底层数组,其中一个的值改变会影响全部 make([]T, len, cap) 其中cap可以省略,则和len的值...
阅读全文
摘要:package main /* 数组Array 定义数组的格式:var [n],n>=0 数组长度也是类型的一部分,因此具有不同长度的数组为不同类型 注意区分指向数组的指针和指针数组 数组在Go中为值类型 数组之间可以使用==或!=进行比较,但不可以使用 可以使用new来创建数组,此方法返回一个指向数组的指针 Go支持多维数组 */ import ( "fmt" ) func ma...
阅读全文
摘要:package main /* 指针 Go虽然保留了指针,但与其它编程语言不同的是,在Go当中不 支持指针运算以及”->”运算符,而直接采用”.”选择符来操作指针 目标对象的成员 操作符”&”取变量地址,使用”*”通过指针间接访问目标对象 默认值为 nil 而非 NULL 递增递减语句 在Go当中,++ 与 -- 是作为语句而并不是作为表达式 */ import ( "fmt" )...
阅读全文
摘要:/* Go中不存在隐式转换,所有类型转换必须显式声明 转换只能发生在两种相互兼容的类型之间 类型转换的格式: [:]= () 全局变量可以使用var()的形式,局部变量不可以使用var组的形式 type newInt int ,这里newInt不是int的别名,newInt转换成int类型的时候要显示的强制转化 */ package main import ( "fm...
阅读全文
摘要:/* Go基本类型 布尔型:bool - 长度:1字节 - 取值范围:true, false - 注意事项:不可以用数字代表true或false 整型:int/uint - 根据运行平台可能为32或64位 8位整型:int8/uint8 - 长度:1字节 - 取值范围:-128~127/0~255 字节型:byte(uint8别名)(无符号的...
阅读全文
摘要:关键字: break default func interface select case defer go map struct chan else goto package ...
阅读全文

浙公网安备 33010602011771号