From f72789e588e6b8a02506e310336e9581d1af1dc0 Mon Sep 17 00:00:00 2001 From: astaxie Date: Mon, 17 Sep 2012 09:40:56 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E4=BA=86=E4=B8=80=E4=BA=9B?= =?UTF-8?q?=E8=AF=AD=E5=8F=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 5.6.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/5.6.md b/5.6.md index 72cd8cf4..e31c6d58 100644 --- a/5.6.md +++ b/5.6.md @@ -1,12 +1,12 @@ #5.6NOSQL数据库操作 -NoSQL(Not Only SQL),指的是非关系型的数据库。随着互联网web2.0网站的兴起,传统的关系数据库在应付web2.0网站,特别是超大规模和高并发的SNS类型的web2.0纯动态网站已经显得力不从心,暴露了很多难以克服的问题,而非关系型的数据库则由于其本身的特点得到了非常迅速的发展。 +NoSQL(Not Only SQL),指的是非关系型的数据库。随着Web2.0的兴起,传统的关系数据库在应付Web2.0网站,特别是超大规模和高并发的SNS类型的Web2.0纯动态网站已经显得力不从心,暴露了很多难以克服的问题,而非关系型的数据库则由于其本身的特点得到了非常迅速的发展。 而Go语言作为21世纪的C语言,对NOSQL的支持也是很好,目前流行的NOSQL主要有redis、mongoDB、Cassandra和Membase等。这些数据库都有高性能、高并发读写等特点,目前已经广泛应用于各种应用中。我接下来主要讲解一下redis和mongoDB的操作。 ##redis redis是一个key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)和zset(有序集合)。 -目前应用redis最广泛的应该是新浪微博平台,其次还有目前互联网很热门的被Facebook收购的instagram。其他还有好多有名的[互联网企业](http://redis.io/topics/whos-using-redis) +目前应用redis最广泛的应该是新浪微博平台,其次还有Facebook收购的图片社交网站instagram。以及其他一些有名的[互联网企业](http://redis.io/topics/whos-using-redis) Go目前支持redis的驱动有如下 - https://github.com/alphazero/Go-Redis @@ -18,7 +18,7 @@ Go目前支持redis的驱动有如下 https://github.com/astaxie/goredis -接下来的例子中我以我自己fork的这个redis驱动来演示如何进行数据的操作 +接下来的以我自己fork的这个redis驱动为例来演示如何进行数据的操作 package main @@ -54,7 +54,7 @@ https://github.com/astaxie/goredis ##mongoDB -Mongo是一个高性能,开源,无模式的文档型数据库,是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。他支持的数据结构非常松散,是类似json的bjson格式,因此可以存储比较复杂的数据类型。Mongo最大的特点是他支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。 +MongoDB是一个高性能,开源,无模式的文档型数据库,是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。他支持的数据结构非常松散,采用的是类似json的bjson格式来存储数据,因此可以存储比较复杂的数据类型。Mongo最大的特点是他支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。 下图展示了mysql和mongoDB之间的对应关系,我们可以看出来非常的方便,但是mongoDB的性能非常好。 @@ -62,7 +62,7 @@ Mongo是一个高性能,开源,无模式的文档型数据库,是一个介 目前Go支持mongoDB最好的驱动就是[mgo](http://labix.org/mgo),这个驱动目前最有可能成为官方的pkg。 -下面我讲演示如果通过Go来操作mongoDB: +下面我将演示如果通过Go来操作mongoDB: package main