gomcketama

package module
v0.0.0-...-336824d Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 24, 2018 License: MIT Imports: 7 Imported by: 0

README

gomcketama Build Status GoDoc

This package implements a ServerSelector for gomemcache that provides ketama hashing that's compatible with SpyMemcached's ketama hashing.

Usage

import "github.com/thatguystone/gomcketama"

// Create a memcache client using ketama as the server selector
mc := gomcketama.New("server1:11211", "server2:11211")

Documentation

Overview

Package gomcketama implements a ServerSelector for gomemcache that provides ketama hashing that's compatible with SpyMemcached's ketama hashing.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func New

func New(server ...string) *mc.Client

New creates a new memcache client with the given servers, using ketama as the ServerSelector. This functions exactly like gomemcache's New().

Types

type KetamaServerSelector

type KetamaServerSelector struct {
	// contains filtered or unexported fields
}

KetamaServerSelector implements gomemcache's ServerSelector

func (*KetamaServerSelector) AddServer

func (ks *KetamaServerSelector) AddServer(server string) error

AddServer adds a server to the ketama continuum.

func (*KetamaServerSelector) Each

func (ks *KetamaServerSelector) Each(f func(net.Addr) error) error

Each loops through all registered servers, calling the given function.

func (*KetamaServerSelector) PickServer

func (ks *KetamaServerSelector) PickServer(key string) (net.Addr, error)

PickServer returns the server address that a given item should be written to.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL