Skip to content

yahoojapan/k2hdkc_go

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

k2hdkc_go

Overview

k2hdkc_go implements a k2hdkc client in golang.

Install

Firstly you must install the k2hdkc shared library.

$ curl -o- https://raw.github.com/yahoojapan/k2hdkc_go/master/cluster/start_server.sh | bash

You can install k2hdkc library step by step from source code. See Build for details.

After you make sure you set the GOPATH environment, download the k2hdkc_go package.

$ go get -u github.com/yahoojapan/k2hdkc_go

Usage

Here is a simple example of k2hdkc_go which save a key and get it.

package main

import (
	"fmt"
	"os"

	"github.com/yahoojapan/k2hdkc_go/k2hdkc"
)

func setAndGet() {
	c := k2hdkc.NewClient("../../cluster/slave.yaml", 8031)
	defer c.Close()
	// save a hello key.
	if r, err := c.Set("hello", "world"); r == nil || err != nil {
		fmt.Fprintf(os.Stderr, "client.Set(key, value) returned r %v err %v\n", r, err)
		return
	}
	// get the key.
	r, err := c.Get("hello")
	if r == nil || err != nil {
		fmt.Fprintf(os.Stderr, "client.Get(key) returned r %v err %v\n", r, err)
		return
	}
	fmt.Println(r.String())
}

func main() {
	setAndGet()
}

Development

Here is the step to start developing k2hdkc_go.

  • Debian / Ubuntu
#!/bin/sh

sudo apt-get update -y && sudo apt-get install curl git -y && curl -s https://packagecloud.io/install/repositories/antpickax/stable/script.deb.sh | sudo bash
sudo apt-get install libfullock-dev k2hash-dev chmpx-dev k2hdkc-dev -y
go get github.com/yahoojapan/k2hdkc_go/k2hdkc

exit 0
  • CentOS / Fedora
#!/bin/sh

sudo dnf makecache && sudo dnf install curl git -y && curl -s https://packagecloud.io/install/repositories/antpickax/stable/script.rpm.sh | sudo bash
sudo dnf install libfullock-devel k2hash-devel chmpx-devel k2hdkc-devel -y
go get github.com/yahoojapan/k2hdkc_go/k2hdkc

exit 0

Documents

License

MIT License. See the LICENSE file.

AntPickax

AntPickax is