码迷,mamicode.com
首页 > 数据库 > 详细

go-memdb

时间:2017-12-09 22:38:58      阅读:187      评论:0      收藏:0      [点我收藏+]

标签:创建   nbsp   col   com   abort   commit   ble   建立   emd   

 

 

// Create a sample struct
type Person struct {
    Email string
    Name  string
    Age   int
}

// 创建数据库的 DBSchema , 它包括多个表结构:  Tables map[string]*TableSchema
// 每个表结构是 TableSchema, 它定义对应的index :
// type TableSchema struct {
//    Name    string
//    Indexes map[string]*IndexSchema
// }
schema := &memdb.DBSchema{ Tables: map[string]*memdb.TableSchema{ "person": &memdb.TableSchema{ Name: "person", Indexes: map[string]*memdb.IndexSchema{ "id": &memdb.IndexSchema{ // 从代码来看,是基于 email 来建立 index Name: "id", Unique: true, Indexer: &memdb.StringFieldIndex{Field: "Email"}, }, }, }, }, } // 基于schema 创建数据库 db, err := memdb.NewMemDB(schema) if err != nil { panic(err) } // 创建写事务 txn := db.Txn(true) // 插入记录 p := &Person{"joe@aol.com", "Joe", 30} if err := txn.Insert("person", p); err != nil { panic(err) } // Commit txn.Commit() // 创建只读事务 txn = db.Txn(false) defer txn.Abort() // 返回第一个符合的记录 raw, err := txn.First("person", "id", "joe@aol.com") if err != nil { panic(err) } // Say hi! fmt.Printf("Hello %s!", raw.(*Person).Name)

 

go-memdb

标签:创建   nbsp   col   com   abort   commit   ble   建立   emd   

原文地址:http://www.cnblogs.com/liyiscuu/p/8012688.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!