100行ぐらいで分散しないKVSを実装する(Go)

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");
}