go-memdb

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了go-memdb相关的知识,希望对你有一定的参考价值。

 

 

// 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{"[email protected]", "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", "[email protected]") if err != nil { panic(err) } // Say hi! fmt.Printf("Hello %s!", raw.(*Person).Name)

 




以上是关于go-memdb的主要内容,如果未能解决你的问题,请参考以下文章

VSCode自定义代码片段——CSS选择器

谷歌浏览器调试jsp 引入代码片段,如何调试代码片段中的js

片段和活动之间的核心区别是啥?哪些代码可以写成片段?

VSCode自定义代码片段——.vue文件的模板

VSCode自定义代码片段6——CSS选择器

VSCode自定义代码片段——声明函数