Go lang에서 Nuts라는 key-pair 방식의 db를 쓸 때가 있다.
참고 : https://github.com/xujiajun/nutsdb#getting-started
1. 다운받기
go get -u github.com/xujiajun/nutsdb
이 때
package golang.org/x/sys/unix: golang.org/x/sys is a custom import path for https://go.googlesource.com/sys, but /home/ubuntu/go/src/golang.org/x/sys is checked out from https://github.com/golang/sys.git
위와 같은 메세지가 나타날 수 있는데
package의 출처가 다르다는 메세지다.
각각의 폴더에 들어가서 파일들이 제대로 들어가 있으면 문제 없는 듯.
cd src/github.com/xujiajun/netsdb
cd src/golang.org/x/sys
github의 example 아래 basic/main.go 를 참고하여
(https://github.com/xujiajun/nutsdb/tree/master/examples/basic)
NutsDbHndler.go 를 만듬. package는 databases
참고1 : init() method는 인자가 없는 func로 생성하면 자동으로 처리 됨. 따로 호출할 필요 없음.
참고2 : nuts db의 method 선언 형태는 if err := func(); err != nil { } 형태임
err := func();
if err != nil {}
위 형태의 변형임.
참고3 : fileDir 은 현재경로 기준으로 하려면 "./aaa" 등으로 하고
그 외에는 절대 경로임
참고4 : init() 함수 내에 os.RemoveAll 이 있으므로 자칫하면 해당 폴더의 Data가 모두 지워질 수 있으므로 "./data" 등의 해당 db파일만 저장되는 경로를 따로 마련할 것.
databases/NutsDbHandler.go
package databases import ( "github.com/xujiajun/nutsdb" var ( files, _ := ioutil.ReadDir(fileDir) func delete(keyName string) { func put(keyName, keyValue string) { func put2(keyName, keyValue string) { func read(keyName string) { // 사용방법 ex // func main() { // //read // //insert // //read // //update // //read // }
|