Golang(8)Database NOSQL
Redis
I am using redis 2.9.11
https://github.com/hoisie/redis
https://github.com/astaxie/goredis
Install the Driver
>go get github.com/astaxie/goredis
First of all, easily set up my Redis DB on my local machine. I will not demo the cluster mode. Just use the easiest one.
>cd /opt/redis
>./redis-server ./redis.conf
Once the server is started, we will see the log information as follow:
09 May 23:18:45.226 * The server is now ready to accept connections on port 7000
Then I can connect to the localhost server on the port 7000
>./redis-cli -h 127.0.0.1 -p 7000
Then running my go program to connect to the DB
package main
import (
"fmt"
"github.com/astaxie/goredis"
)
func main() {
var client goredis.Client
//set the address and port
client.Addr = "127.0.0.1:7000"
//string operation
client.Set("a", []byte("hello"))
val, _ := client.Get("a")
fmt.Println(string(val))
client.Del("a")
//list
vals := []string{"a", "b", "c", "d", "e"}
for _, v := range vals {
client.Rpush("l", []byte(v))
}
dbvals, _ := client.Lrange("l", 0, 4)
for i, v := range dbvals {
println(i, ":", string(v))
}
client.Del("l")
}
Here is the console output
hello 0 : a 1 : b 2 : c 3 : d 4 : e
MongoDB
Upgrade to 2.6.0
>mv mongodb-osx-x86_64-2.6.0 /Users/carl/tool/
>sudo ln -s /Users/carl/tool/mongodb-osx-x86_64-2.6.0 /opt/mongodb-2.6.0
>sudo rm -fr /opt/mongodb
>sudo ln -s /opt/mongodb-2.6.0 /opt/mongodb
>mongod -f mongodb.conf
>mongo --host 127.0.0.1 --port 27017
I saw some warning messages as follow:
2014-05-11T13:58:01.765-0500 [initandlisten] ** WARNING: soft rlimits too low. Number of files is 256, should be at least 1000
Solution:
First of all, check the max of the open files
>ulimit -n
256
It really small number.
I can set it to a high number.
>ulimit -n 1024
But it will only working before we reboot the system.
>launchctl limit maxfiles 1024 1024
This command can make it working forever.
mgo is not official supported.
http://docs.mongodb.org/ecosystem/drivers/go/
http://godoc.org/labix.org/v2/mgo
…TODO
References:
Redis 1~ 7
http://sillycat.iteye.com/blog/1549504
http://sillycat.iteye.com/blog/1553507
http://sillycat.iteye.com/blog/1553508
http://sillycat.iteye.com/blog/1553509
http://sillycat.iteye.com/blog/2028180
http://sillycat.iteye.com/blog/2033094
http://sillycat.iteye.com/blog/2059166
MongoDB 1 ~ 5
http://sillycat.iteye.com/blog/1547291 Concept and Installation on windows and ubuntu
http://sillycat.iteye.com/blog/1547292 Java DAO Layer Example
http://sillycat.iteye.com/blog/1547294 Java DAO Layer Example
http://sillycat.iteye.com/blog/1965857 Installation on MAC and Replication, 1 Master, 2 Secondaries
http://sillycat.iteye.com/blog/1965880 Scala Clients
https://github.com/astaxie/build-web-application-with-golang/blob/master/ebook/05.6.md
- 浏览: 2541056 次
- 性别:
- 来自: 成都
最新评论
-
nation:
你好,在部署Mesos+Spark的运行环境时,出现一个现象, ...
Spark(4)Deal with Mesos -
sillycat:
AMAZON Relatedhttps://www.godad ...
AMAZON API Gateway(2)Client Side SSL with NGINX -
sillycat:
sudo usermod -aG docker ec2-use ...
Docker and VirtualBox(1)Set up Shared Disk for Virtual Box -
sillycat:
Every Half an Hour30 * * * * /u ...
Build Home NAS(3)Data Redundancy -
sillycat:
3 List the Cron Job I Have>c ...
Build Home NAS(3)Data Redundancy
相关推荐
Golang中的`database/sql`包提供了与SQL数据库交互的通用接口。开发者可以使用它来操作诸如MySQL、PostgreSQL等数据库。在使用过程中,有几个关键点需要注意: 1. **连接池管理**:为了提高性能并避免资源浪费,应...
在IT行业中,Go语言(Golang)以其高效、简洁和并发特性受到了广泛的欢迎,尤其在构建微服务、网络工具和基础设施软件方面表现出色。"Golang工具库.zip"这个压缩包显然包含了各种Golang编写的实用工具库,这些库可以...
- `OPBook-master`目录很可能包含了项目的源代码结构,通常包括`main.go`(程序入口)、`models`(数据模型)、`controllers`(控制器)、`views`(视图)、`routes`(路由)、`database`(数据库操作)、`config`...
领带关键字:Golang,go,文档数据库,NoSQL,JSON领带-由Golang提供支持的NoSQL数据库tieot是一个使用JSON作为文档表示法的文档数据库引擎; 它具有功能强大的查询处理器,支持高级设置操作; 它可以嵌入到您的程序...
而`NoSQLGo`可能是针对NoSQL数据库的Golang库或框架,可能被MarioDB_Client用作基础,以实现更高级的数据库操作。 **总结** MarioDB_Client是一个使用Golang编写的客户端库,专为MarioDB数据库设计。它利用Golang...
MongoDB则是一种流行的NoSQL数据库,以其灵活性和高性能而闻名,尤其适合处理半结构化和非结构化数据。 描述中提到,Golang连接MongoDB涉及到Golang基础知识以及MongoDB的使用方法。这里的关键知识点包括: 1. **...
GoTinyDB 我们的目标是拥有一个相当简单的数据库,该数据库轻巧且不需要放在RAM中。 这部分工作由完成,该公司使用SSD功能来降低RAM消耗和提高性能。 索引由完成。 它是纯Go语言,因此CGO没问题。...
它使混合和匹配现有的nosql /某些rdbms *数据库(例如RethinkDb)变得更加容易,而GoStore是您的应用程序数据瑞士刀GoStore是用于加速应用程序开发的应用程序存储工具。 它使将现有的nosql /某些rdbms *数据库(例如...
Golang作为一门高效且轻量级的编程语言,非常适合开发爬虫程序,而MongoDB则是一个功能强大的NoSQL数据库,适用于处理结构化和半结构化的数据。 首先,确保你已经安装了Golang环境和MongoDB数据库。对于Golang,你...
Go语言(Golang)中也有许多与MySQL交互的库,如`go-sql-driver/mysql`,使得在Go程序中操作MySQL变得简单。 MySQL以其高性能、可靠性和易用性而闻名,适合处理大量数据并提供高并发访问。Google也使用MySQL作为其...
Titan基于TiKV的Redis兼容层的分布式实现为什么选择Titan? 与Redis协议完全兼容具有高度一致性的完全分布式事务多租户支持Titan基于TiKV的Redis兼容层的分布式实现为什么选择Titan? 完全兼容Redis协议具有强一致性...
Golang教程 根据的修改 1. 1.1. 1.2. 1.3. 1.4. 1.5. 1.6. 2. 2.1. 2.2. 2.3. 2.4. 2.5. 2.6. interface 2.7. 并发 2.8. 小结 3.Web基础 3.1 web工作方式 3.2 Go搭建一个简单的web服务 3.3 Go如何使得web工作 3.4 Go...
在本项目中,我们主要探讨的是使用Go语言(Golang)来编写一个Web爬虫,目的是爬取并解析豆瓣电影Top250的数据。Go语言因其高效、并发能力强以及丰富的标准库,尤其适合用于网络爬虫的开发。下面将详细介绍这个项目...
动机使用前提条件安装API文档测试示例许可信用和确认动机该库是dsunit(数据存储单元可测试性库)的一部分,旨在提供对SQL,noSQL或任何其他以SQL方式处理结构化数据的存储的统一访问权限。 用法:以下是一个非常...
Go对数据库的支持非常全面,标准库`database/sql`提供了一种统一的方式来与多种SQL数据库交互。针对MySQL,有`go-sql-driver/mysql`驱动,而对于NoSQL数据库如Redis,有`go-redis/redis`库。这些库使数据库操作简单...
在本文中,我们将深入探讨如何使用Go语言(Golang)来构建一个Web爬虫,以爬取汽车之家网站上的二手车产品库数据。Go语言因其高效、简洁和强大的并发能力而被广泛用于网络爬虫的开发。我们将从以下几个方面展开讨论...
- **SQL数据库**:为了持久化存储投票数据,我们可以选择使用MySQL、PostgreSQL等SQL数据库,或者NoSQL数据库如MongoDB。 - **数据库驱动**:Go语言有丰富的数据库驱动支持,如`github.com/go-sql-driver/mysql`,...
1. **实时云数据库**:Firebase实时云数据库是一种NoSQL云数据库,它允许数据在客户端和服务器之间实时同步。在Go中,使用firebase包可以方便地进行读写操作,实现数据的即时更新。 2. **身份验证**:Firebase身份...
项目可能使用SQL或NoSQL数据库,如MySQL、PostgreSQL、MongoDB等,并且可能使用ORM库如Gorm或sqlx简化数据库操作。 6. **安全性考虑** 对于这类涉及安全的项目,Doorbot应有强大的身份验证和授权机制,例如JWT...
MongoDB作为NoSQL数据库,以文档型数据模型为主,而MySQL是经典的SQL数据库,采用表格形式存储数据。本例中,我们将讨论如何通过Java编程语言实现从MongoDB到MySQL的数据迁移。 首先,我们需要理解MongoDB的集合...