GO语言学习——简单的key-valeu数据库的实现
2014-11-18 18:56
429 查看
写一个简单的key-value数据库,实现下面几个接口。
db:new() => Db.
db:destroy(Db) => ok.
db:write(Key, Element, Db) => NewDb.
db:delete(Key, Db) => NewDb.
db:read(Key, Db) =>{ok, Element} | {error, instance}.
db:match(Element, Db) => [Key1, ..., KeyN].
例子:
1> c(db).
{ok,db}
2> Db = db:new().
[]
3> Db1 = db:write(111,222, Db).
[{111,222}]
4> Db2 = db:write(333, 444, Db1).
[{333,444},{111,222}]
5> db:read(111, Db2).
{ok,222}
6> Db3 = db:write(555, 444, Db2).
[{555,444},{333,444},{111,222}]
7> db:read(ola, Db3).
{error,instance}
8> db:match(444, Db3).
[555,333]
9> Db4 = db:delete(333, Db3).
[{555,444},{111,222}]
10> db:match(444, Db4).
[555]
db:new() => Db.
db:destroy(Db) => ok.
db:write(Key, Element, Db) => NewDb.
db:delete(Key, Db) => NewDb.
db:read(Key, Db) =>{ok, Element} | {error, instance}.
db:match(Element, Db) => [Key1, ..., KeyN].
例子:
1> c(db).
{ok,db}
2> Db = db:new().
[]
3> Db1 = db:write(111,222, Db).
[{111,222}]
4> Db2 = db:write(333, 444, Db1).
[{333,444},{111,222}]
5> db:read(111, Db2).
{ok,222}
6> Db3 = db:write(555, 444, Db2).
[{555,444},{333,444},{111,222}]
7> db:read(ola, Db3).
{error,instance}
8> db:match(444, Db3).
[555,333]
9> Db4 = db:delete(333, Db3).
[{555,444},{111,222}]
10> db:match(444, Db4).
[555]
相关文章推荐
- go语言学习笔记之冒泡排序的实现
- Go语言(服务器开发):实现最简单的HTTP GET/POST接口
- go 语言实现一个简单的 web 服务器
- Go语言基础学习五-一些数值操作的简单例子
- go语言快速入门:简单工厂模式的实现(23)
- 一个简单的Key-Value小数据库tmdb的原理和实现
- Go语言简单实现FTP协议.
- GO语言实现的简单“木马”小程序
- GO语言学习:go语言实现android应用的步骤
- Go语言基础学习三-简单的代码分析(并发)
- Go语言实现的一个简单Web服务器
- go简单模拟Redis数据库对应{key, value}的存取功能
- 【30分钟学习】二种简单实用的方法实现多语言解决方案(源码在附件)
- Go语言 实现简单的 Set
- go 语言实现简单的WEB 服务器
- Go语言实现简单的一个静态WEB服务器
- go语言实现一个简单的http客户端抓取远程url的方法
- Go语言实现简单的文件服务器
- MySQL数据库学习--数据库游标的简单实现
- 实现一个go语言的简单爬虫来爬取CSDN博文(一)