1.mysql
go get github.com/go-sql-driver/mysql
go get github.com/jmoiron/sqlx
type Person struct{
Userid int `db:user_id`
Username string `db:"user_name"`
Sex string`db:"sex"`
}
database:=sqlx.Open()
dbtabse.Exec("insert into person(user_name,sex)value(?,?)","Li",'boy')
database.Select(&person,"select user_name,sex from person where user_id=?",1)
dbtabse.Exec("update person set user_name=? where user_id=?","Li",1)
dbtabse.Exec("delete person where user_id=?",1)
事物:con:=database.begin()
con.commit()
con.rollback()
2.redis
go get github.com/garyburd/redigo/redis
c:=Redis.dial('tcp','127.0.0.1:6379')
c.Do(,)
Redis.Pool()
3.ETCD
go get go.etcd.io/etcd/clientv3
4.GORM
go get -u github.com/jinzhu/gorm
db, err := gorm.Open("postgres", "user=gorm dbname=gorm sslmode=disable")
db.First(&user).Last(&user).Find(&user).First(&user,10).find(&user,"age=?",1)
db.where('age>?',10).find(&user,10).where('age in(?)',[]string{"1","2"}).find(&user)
db.not("name","jizhu").find(&user).where("age=?",10).Or("age>?",11)
dbTable("users").Select("name,age").Order('name').Limit(10).Offset(1).count(&count),Group().Having().Joins(),Delete()
db.FirstOrInt().Attr().Assign().FirstOrCreate().
db.rows().Scan(&user).Pluck("age","&age").scopes()
db.Save(&user).updateColumn().UpdateColums().Updates(user{age:10,name:"li"}).RowsAffected
db.Model(&user).update("age",10).where('sex=?',1).Omit("name").gorm.expr().Set()
5.memcached
go get github.com/bradfitz/gomemcache/memcache