kmgRedis

package
v0.0.0-...-05317bf Latest Latest
Warning

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

Go to latest
Published: Nov 21, 2015 License: MIT Imports: 14 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var ErrKeyExist = errors.New("key exist")
View Source
var ErrKeyNotExist = errors.New("key not exist")
View Source
var ErrListWrongType = errors.New("WRONGTYPE Operation against a key holding the wrong kind of value,need a list type")
View Source
var ErrRenameSameName = errors.New("ERR source and destination objects are the same")
View Source
var ErrSortedSetWrongType = errors.New("WRONGTYPE Operation against a key holding the wrong kind of value,need a sorted set type")
View Source
var ErrStringWrongType = errors.New("WRONGTYPE Operation against a key holding the wrong kind of value,need a string type")
View Source
var ErrValueNotFloatFormat = errors.New("ERR value is not a valid float")
View Source
var ErrValueNotIntFormatOrOutOfRange = errors.New("ERR value is not an integer or out of range")

Functions

func DefaultInit

func DefaultInit()

func Del

func Del(key string) (err error)

只有网络问题会返回error

func Exists

func Exists(key string) (exist bool, err error)

某个key是否存在 只有网络问题会返回error

func FlushDbV2

func FlushDbV2() (err error)

只有网络问题会返回error

func Get

func Get(key string) (value string, err error)

从redis的kvdb中获取一个key 注意 value有可能是 "" 这个和数据不存在是两种情况. 如果数据不存在,会返回ErrKeyNotExist value在redis里面不是string类型,会返回 ErrStringWrongType 网络错误也会返回 error

func GetGob

func GetGob(key string, obj interface{}) (err error)

如果数据不存在,会返回ErrKeyNotExist 序列化错误,会返回 error 网络错误也会返回 error

func GetGobIgnoreNotExist

func GetGobIgnoreNotExist(key string, obj interface{}) (err error)

func GetJson

func GetJson(key string, obj interface{}) (err error)

func HGetAll

func HGetAll(key string) (map[string]string, error)

func IncrBy

func IncrBy(key string, num int64) (err error)

给某一个redis的key加一个整数 key不存在,会先把这个key变成0,然后再进行增加 key不能被解析成整数,会返回 ErrValueNotIntFormatOrOutOfRange value不是string类型,会返回 ErrStringWrongType 网络错误会返回error

func IncrByFloat

func IncrByFloat(key string, num float64) (err error)

给某一个redis的key加一个浮点 不要传入大于1e200的浮点,会挂掉. TODO 解决这个问题? key不存在,会先把这个key变成0,然后再进行增加 key不能被解析成整数,会返回 ErrValueNotFloatFormatOrOutOfRange value不是string类型,会返回 ErrStringWrongType 网络错误会返回error

func InitWithConfig

func InitWithConfig(opt *redis.Options)

func InitWithDbNum

func InitWithDbNum(num int)

func Insert

func Insert(key string, value string) (err error)

向redis中插入数据,如果已经存在数据会返回 ErrKeyExist 如果出现网络错误,会返回 一个网络错误的err 没有其他错误的可能性了.

func InsertGob

func InsertGob(key string, obj interface{}) (err error)

向redis中插入数据,如果已经存在数据会返回 ErrKeyExist

func Keys

func Keys(searchKey string) (keyList []string, err error)

使用 redis的表达式搜索key,返回搜索到的key的列表 只有网络问题会返回error ** 仅适用于整个数据库key数量比较少的数据库(<500k条数据),否则非常慢. **

func LRangeAll

func LRangeAll(key string) (out []string, err error)

返回一个redis数组里面所有的值. 查询的key存在,并且类型正确,返回列表里面的数据 查询的key不存在,返回空数组 TODO 好用? 查询的key类型错误,返回 ErrListWrongType 网络错误会返回error

func LRangeAllGob

func LRangeAllGob(key string, list interface{}) (err error)

func ListGobUnmarshalNotExistCheck

func ListGobUnmarshalNotExistCheck(outList []interface{}, obj reflect.Value) (err error)

func MGetNotExistCheck

func MGetNotExistCheck(keyList []string) (value []string, err error)

一次操作,批量从redis里面返回大量key的值. 没有传入数据,不报错 如果查询的key全部存在,返回数据. 如果存在某一个key不存在,或者类型错误,返回 ErrKeyNotExist ,value里面什么也没有 (和redis命令不一致) 网络错误会返回error

func MGetNotExistCheckGob

func MGetNotExistCheckGob(keyList []string, obj interface{}) (err error)

带超时的设置一条数据 没有传入数据,不报错,不修改obj 网络错误会返回error

func MustDel

func MustDel(key string)

func MustFlushDb

func MustFlushDb(c *redis.Client)

@deprecated

func MustFlushDbV2

func MustFlushDbV2()

func MustGet

func MustGet(key string) (value string)

func MustGetAllMemberFromSortedSet

func MustGetAllMemberFromSortedSet(key string) (sList []string)

func MustGetAllZRange

func MustGetAllZRange(c *redis.Client, key string) []string

@deprecated

func MustGetData

func MustGetData(c *redis.Client, key string) string

@deprecated

func MustGetDataWithGob

func MustGetDataWithGob(c *redis.Client, key string, inData interface{})

@deprecated

func MustGetFloatIgnoreNotExist

func MustGetFloatIgnoreNotExist(key string) float64

从redis的kvdb中获取一个key 将这个key转换成float 无法转换成float,会panic key不存在,返回0 网络错误会panic

func MustGetGob

func MustGetGob(key string, obj interface{})

func MustGetIntIgnoreNotExist

func MustGetIntIgnoreNotExist(key string) (valueI int)

从redis的kvdb中获取一个key 将这个key转换成int 无法转换成int,会panic key不存在,返回0 网络错误会panic

func MustGetSortedSetSize

func MustGetSortedSetSize(key string) int

func MustHGetAll

func MustHGetAll(key string) map[string]string

func MustHSet

func MustHSet(key1 string, key2 string, value string)

func MustInsert

func MustInsert(key string, value string)

func MustInsertGob

func MustInsertGob(key string, obj interface{})

func MustInsertJson

func MustInsertJson(key string, obj interface{})

func MustKeys

func MustKeys(searchKey string) (kList []string)

func MustMSet

func MustMSet(pairList []KeyValuePair)

经过实际测试发现一次只能写入1万个,太多会 broken pipe

func MustSAdd

func MustSAdd(key string, value string)

func MustSMembers

func MustSMembers(key string) (sList []string)

func MustSet

func MustSet(key string, value string)

func MustSetData

func MustSetData(c *redis.Client, key string, data string)

@deprecated

func MustSetDataWithGob

func MustSetDataWithGob(c *redis.Client, key string, data interface{})

func MustSetDbData

func MustSetDbData(c *redis.Client, data map[string]string)

清空当前db的所有数据,并且设置为传入的数据 这个函数主要用于测试 @deprecated

func MustSetDbDataYaml

func MustSetDbDataYaml(c *redis.Client, yaml string)

@deprecated

func MustSetGob

func MustSetGob(key string, obj interface{})

func MustUpdate

func MustUpdate(key string, value string)

func MustUpdateJson

func MustUpdateJson(key string, obj interface{})

func MustZAdd

func MustZAdd(key string, score float64, member string)

func MustZRemRangeByScore

func MustZRemRangeByScore(key string, min float64, max float64)

func MustZScore

func MustZScore(key string, member string) (f float64)

func RPush

func RPush(key string, value string) (err error)

Insert all the specified values at the tail of the list stored at key. If key does not exist, it is created as empty list before performing the push operation. When key holds a value that is not a list, an error is returned. 更改的key存在,会向这个数组类型的key,右边加入一个元素. 更改的key不存在,会创建一个,并且写入第一个值. 更改的key的类型不正确会返回 ErrListWrongType 网络错误会返回error

func RPushGob

func RPushGob(key string, value interface{}) (err error)

func RenameNx

func RenameNx(key string, newKey string) (err error)

改key的名字 key不存在 ErrKeyNotExist key和newKey一样 ErrRenameSameName newKey存在 ErrKeyExist 网络错误会返回error

func SAdd

func SAdd(key string, value string) (err error)

func ScanCallback

func ScanCallback(patten string, cb func(key string) error) (err error)

扫描redis里面所有的key. 目前按照10000个一次的速度进行出来.

func ScanWithOutputLimit

func ScanWithOutputLimit(pattern string, limit int) (sList []string, err error)

保证只会返回小于等于limit个数据.

func Set

func Set(key string, value string) (err error)

key,不存在会insert,存在会update 网络错误会返回 error 注意redis类型错误时,也不会报错,只会把这个key设置成正确的value

func SetEx

func SetEx(key string, dur time.Duration, value string) (err error)

带超时的设置一条数据 网络错误会返回error

func SetGob

func SetGob(key string, obj interface{}) (err error)

func TestInit

func TestInit()

func Update

func Update(key string, value string) (err error)

数据不存在会返回 ErrKeyNotExist 网络错误会返回 error

func UpdateGob

func UpdateGob(key string, obj interface{}) (err error)

向redis中更新数据,如果不存在数据,会返回 ErrKeyNotExist

func ZAdd

func ZAdd(key string, score float64, member string) (err error)

向跳跃表插入一条数据 向一条不是sortset的数据里面插入,会返回 ErrSortedSetWrongType 网络错误会返回error

func ZRange

func ZRange(key string, start int, end int) (sList []string, err error)

func ZRangeByScore

func ZRangeByScore(key string, min float64, max float64) (sList []string, err error)

func ZRevRange

func ZRevRange(key string, start int, end int) (sList []string, err error)

func ZRevRangeByScore

func ZRevRangeByScore(key string, min float64, max float64) (sList []string, err error)

func ZScanCallback

func ZScanCallback(key string, cb func(member string) error) (err error)

func ZScore

func ZScore(key string, member string) (f float64, err error)

使用member获取Score 读取一条不存在的key,会返回 ErrKeyNotExist key存在,但是Member,不存在会返回 ErrKeyNotExist 读取一条不是sortset的数据,会返回 ErrSortedSetWrongType 网络错误会返回error

Types

type KeyValuePair

type KeyValuePair struct {
	Key   string
	Value string
}

type Z

type Z struct {
	Score  float64
	Member string
}

func GetAllScoreAndMemberFromSortedSet

func GetAllScoreAndMemberFromSortedSet(key string) (outList []Z, err error)

正向读取跳跃表中所有数据 读取一条不是sortset的数据,会返回 ErrSortedSetWrongType 网络错误会返回error

func GetRevAllScoreAndMemberFromSortedSet

func GetRevAllScoreAndMemberFromSortedSet(key string) (outList []Z, err error)

逆向读取跳跃表中所有数据 读取一条不是sortset的数据,会返回 ErrSortedSetWrongType 网络错误会返回error

func ZListFromRedisZ

func ZListFromRedisZ(list []redis.Z) []Z

func ZRangeByScoreWithScore

func ZRangeByScoreWithScore(key string, min float64, max float64) (zList []Z, err error)

func ZRevRangeWithScore

func ZRevRangeWithScore(key string, start int, end int) (outList []Z, err error)

Jump to

Keyboard shortcuts

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