54行で分散KVSを実装する(レプリケーション機能付き)をみて、Go でとりあえず分散もレプリケーションもしないのを書いた。
といっても rpc ライブラリは付いてきているので、それを使うだけ。http://golang.org/pkg/rpc/
サーバ側の保存は map[string] string な変数を読み書きするだけ。単純ですね。
リポジトリはこちら http://github.com/fujiwara/go-simple-kvs
クライアントのコードはこんな感じになります。
import ( "kvs"; "log"; ) func main() { // サーバに接続 client, err := kvs.NewClient("localhost:1975"); if err != nil { log.Exit("kvs error:", err); } var value string; _, err = client.Set("foo", "bar"); value, err = client.Get("foo"); println(value); }
サーバはこれだけ。
package main import "kvs" func main() { kvs.RunServer("0.0.0.0:1975"); }