redis

package module
v0.0.0-...-bf514b6 Latest Latest
Warning

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

Go to latest
Published: Jun 10, 2019 License: Apache-2.0 Imports: 5 Imported by: 0

README

redis

介绍

常用redis客户端命令的封装

软件架构

软件架构说明

安装教程
  1. xxxx
  2. xxxx
  3. xxxx
使用说明
  1. xxxx
  2. xxxx
  3. xxxx
参与贡献
  1. Fork 本仓库
  2. 新建 Feat_xxx 分支
  3. 提交代码
  4. 新建 Pull Request
码云特技
  1. 使用 Readme_XXX.md 来支持不同的语言,例如 Readme_en.md, Readme_zh.md
  2. 码云官方博客 blog.gitee.com
  3. 你可以 https://gitee.com/explore 这个地址来了解码云上的优秀开源项目
  4. GVP 全称是码云最有价值开源项目,是码云综合评定出的优秀开源项目
  5. 码云官方提供的使用手册 https://gitee.com/help
  6. 码云封面人物是一档用来展示码云会员风采的栏目 https://gitee.com/gitee-stars/

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Close

func Close()

Close 关闭连接池

func NewPool

func NewPool(host string, password string, active int, idle int)

NewPool 初始化一个连接池

Types

type Conn

type Conn struct {
	Conn redis.Conn
}

Conn redis连接

func GetConn

func GetConn() *Conn

GetConn 从连接池取得一个连接

func (*Conn) Close

func (db *Conn) Close()

Close 连接池回收连接

func (*Conn) DEL

func (db *Conn) DEL(key string) error

DEL 删除一个key

func (*Conn) EXISTS

func (db *Conn) EXISTS(key string) (bool, error)

EXISTS 检查一个建是否存在

func (*Conn) EXPIRE

func (db *Conn) EXPIRE(key string, seconds int) error

EXPIRE 设置key的有效期

func (*Conn) GET

func (db *Conn) GET(key string) string

GET 返回与键 key 相关联的字符串值。

func (*Conn) HDEL

func (db *Conn) HDEL(key string, fields ...string) int

HDEL 删除哈希表 key 中的一个或多个指定域,不存在的域将被忽略。 返回值: 被成功移除的域的数量,不包括被忽略的域。

func (*Conn) HGET

func (db *Conn) HGET(key, field string) string

HGET 返回哈希表中给定域的值。

func (*Conn) HGETALL

func (db *Conn) HGETALL(key string, out interface{}) (success bool)

HGETALL 返回哈希表 key 中,所有的域和值,并赋值给out(out是一个结构体的指针) out 字段使用"redis" tag 作匹配

func (*Conn) HINCRBY

func (db *Conn) HINCRBY(key, field string, increment int64) int64

HINCRBY 为哈希表 key 中的域 field 的值加上增量 increment 。 增量也可以为负数,相当于对给定域进行减法操作。 如果 key 不存在,一个新的哈希表被创建并执行 HINCRBY 命令。 如果域 field 不存在,那么在执行命令前,域的值被初始化为 0 。 对一个储存字符串值的域 field 执行 HINCRBY 命令将造成一个错误。 本操作的值被限制在 64 位(bit)有符号数字表示之内。 返回值: 执行 HINCRBY 命令之后,哈希表 key 中域 field 的值。

func (*Conn) HINCRBYFLOAT

func (db *Conn) HINCRBYFLOAT(key, field string, increment float64) float64

HINCRBYFLOAT 为哈希表 key 中的域 field 加上浮点数增量 increment 。 如果哈希表中没有域 field ,那么 HINCRBYFLOAT 会先将域 field 的值设为 0 ,然后再执行加法操作。 如果键 key 不存在,那么 HINCRBYFLOAT 会先创建一个哈希表,再创建域 field ,最后再执行加法操作。 无论加法计算所得的浮点数的实际精度有多长, INCRBYFLOAT 命令的计算结果最多只保留小数点的后十七位。 当以下任意一个条件发生时,返回一个错误:

1.域 field 的值不是字符串类型(因为 redis 中的数字和浮点数都以字符串的形式保存,所以它们都属于字符串类型)
2.域 field 当前的值或给定的增量 increment 不能解释(parse)为双精度浮点数

返回值: 执行加法操作之后 field 域的值。

func (*Conn) HMGET

func (db *Conn) HMGET(key string, fields ...string) map[string]string

HMGET 返回哈希表 key 中,一个或多个给定域的值。 如果给定的域不存在于哈希表,那么返回一个 nil 值。 因为不存在的 key 被当作一个空哈希表来处理,所以对一个不存在的 key 进行 HMGET 操作将返回一个只带有 nil 值的表。

func (*Conn) HMSET

func (db *Conn) HMSET(key string, fieldValue interface{}) (success bool)

HMSET HMSET操作 同时将多个 field-value (域-值)对设置到哈希表 key 中 此命令会覆盖哈希表中已存在的域

func (*Conn) HSET

func (db *Conn) HSET(key, field string, value interface{}) (success bool)

HSET 将哈希表 hash 中域 field 的值设置为 value 。

func (*Conn) INCR

func (db *Conn) INCR(key string) int64

INCR 为键 key 储存的数字值加上一。 如果键 key 不存在, 那么它的值会先被初始化为 0 , 然后再执行 INCR 命令。 如果键 key 储存的值不能被解释为数字, 那么 INCR 命令将返回一个错误。 本操作的值限制在 64 位(bit)有符号数字表示之内。 返回值: INCR 命令会返回键 key 在执行加一操作之后的值。

func (*Conn) INCRBY

func (db *Conn) INCRBY(key string, increment int64) int64

INCRBY 为键 key 储存的数字值加上增量 increment 。 如果键 key 不存在, 那么键 key 的值会先被初始化为 0 , 然后再执行 INCRBY 命令。 如果键 key 储存的值不能被解释为数字, 那么 INCRBY 命令将返回一个错误。 本操作的值限制在 64 位(bit)有符号数字表示之内。 返回值: 在加上增量 increment 之后, 键 key 的值。

func (*Conn) INCRBYFLOAT

func (db *Conn) INCRBYFLOAT(key string, increment float64) float64

INCRBYFLOAT 为键 key 储存的值加上浮点数增量 increment 。 如果键 key 不存在, 那么 INCRBYFLOAT 会先将键 key 的值设为 0 , 然后再执行加法操作。 如果命令执行成功, 那么键 key 的值会被更新为执行加法计算之后的新值, 并且新值会以字符串的形式返回给调用者。 无论加法计算所得的浮点数的实际精度有多长, INCRBYFLOAT 命令的计算结果最多只保留小数点的后十七位。 当以下任意一个条件发生时, 命令返回一个错误:

键 key 的值不是字符串类型(因为 Redis 中的数字和浮点数都以字符串的形式保存,所以它们都属于字符串类型);
1.键 key 当前的值或者给定的增量 increment 不能被解释(parse)为双精度浮点数。

本操作的值限制在 64 位(bit)有符号数字表示之内。 返回值: 在加上增量 increment 之后, 键 key 的值。

func (*Conn) SADD

func (db *Conn) SADD(args ...interface{}) error

SADD 将一个或多个 member 元素加入到集合 key 当中,已经存在于集合的 member 元素将被忽略。 假如 key 不存在,则创建一个只包含 member 元素作成员的集合。 当 key 不是集合类型时,返回一个错误。

func (*Conn) SCARD

func (db *Conn) SCARD(key string) int

SCARD 返回集合 key 的基数(集合中元素的数量)。 集合的基数。 当 key 不存在时,返回 0 。

func (*Conn) SET

func (db *Conn) SET(key, value string) error

SET 将字符串值 value 关联到 key 。 如果 key 已经持有其他值, SET 就覆写旧值, 无视类型。 特别注意:无视类型覆盖 当 SET 命令对一个带有生存时间(TTL)的键进行设置之后, 该键原有的 TTL 将被清除。

func (*Conn) SISMEMBER

func (db *Conn) SISMEMBER(key string, value string) bool

SISMEMBER 判断 value 元素是否集合 key 的成员 如果 member 元素是集合的成员,返回 true 。 如果 member 元素不是集合的成员,或 key 不存在,返回 false 。

func (*Conn) SMEMBERS

func (db *Conn) SMEMBERS(key string) []string

SMEMBERS 返回集合 key 中的所有成员。 不存在的 key 被视为空集合。

func (*Conn) SREM

func (db *Conn) SREM(key string, member ...interface{}) error

SREM 移除集合 key 中的一个或多个 member 元素,不存在的 member 元素会被忽略。 当 key 不是集合类型,返回一个错误。

func (*Conn) ZADD

func (db *Conn) ZADD(key string, scoreMember interface{}) error

ZADD 将一个或多个 member 元素及其 score 值加入到有序集 key 当中。 如果某个 member 已经是有序集的成员,那么更新这个 member 的 score 值,并通过重新插入这个 member 元素,来保证该 member 在正确的位置上。 score 值可以是整数值或双精度浮点数。 如果 key 不存在,则创建一个空的有序集并执行 ZADD 操作。 当 key 存在但不是有序集类型时,返回一个错误。

使用例子:

 scoreMember := map[int]string{111: "a", 101: "b"}
	if err := conn.ZADD("testZSET", scoreMember); err != nil {
		t.Error(err)
 }

func (*Conn) ZCARD

func (db *Conn) ZCARD(key string) int

ZCARD 返回有序集 key 的基数(集合中元素的数量)。 当 key 存在且是有序集类型时,返回有序集的基数。 当 key 不存在时,返回 0 。

func (*Conn) ZCOUNT

func (db *Conn) ZCOUNT(key string, min, max float64) int64

ZCOUNT 返回有序集 key 中, score 值在 min 和 max 之间(默认包括 score 值等于 min 或 max )的成员的数量。 返回值: score 值在 min 和 max 之间的成员的数量。

func (*Conn) ZINCRBY

func (db *Conn) ZINCRBY(key string, increment, member interface{}) string

ZINCRBY 为有序集 key 的成员 member 的 score 值加上增量 increment 。 可以通过传递一个负数值 increment ,让 score 减去相应的值,比如 ZINCRBY key -5 member ,就是让 member 的 score 值减去 5 当 key 不存在,或 member 不是 key 的成员时, ZINCRBY key increment member 等同于 ZADD key increment member 。 当 key 不是有序集类型时,返回一个错误。 score 值可以是整数值或双精度浮点数。

func (*Conn) ZRANGE

func (db *Conn) ZRANGE(key string, start, stop int64) []string

ZRANGE 返回有序集 key 中,指定区间内的成员。 其中成员的位置按 score 值递增(从小到大)来排序。 具有相同 score 值的成员按字典序(lexicographical order )来排列。 下标参数 start 和 stop 都以 0 为底,也就是说,以 0 表示有序集第一个成员,以 1 表示有序集第二个成员,以此类推。 你也可以使用负数下标,以 -1 表示最后一个成员, -2 表示倒数第二个成员,以此类推。 超出范围的下标并不会引起错误。 比如说,当 start 的值比有序集的最大下标还要大,或是 start > stop 时, ZRANGE 命令只是简单地返回一个空列表。 另一方面,假如 stop 参数的值比有序集的最大下标还要大,那么 Redis 将 stop 当作最大下标来处理。 返回值: 指定区间内的有序集成员的列表。

func (*Conn) ZRANGEWITHSCORES

func (db *Conn) ZRANGEWITHSCORES(key string, start, stop int64) []map[string]float64

ZRANGEWITHSCORES 使用WITHSCORES选项的ZRANGE

func (*Conn) ZRANK

func (db *Conn) ZRANK(key string, member interface{}) int64

ZRANK 返回有序集 key 中成员 member 的排名。其中有序集成员按 score 值递增(从小到大)顺序排列。 排名以 0 为底,也就是说, score 值最小的成员排名为 0 。 使用 ZREVRANK key member 命令可以获得成员按 score 值递减(从大到小)排列的排名。 返回值:

如果 member 是有序集 key 的成员,返回 member 的排名。
如果 member 不是有序集 key 的成员,返回 -1。

func (*Conn) ZREM

func (db *Conn) ZREM(key string, member ...interface{}) int64

ZREM 移除有序集 key 中的一个或多个成员,不存在的成员将被忽略。

func (*Conn) ZREVRANGE

func (db *Conn) ZREVRANGE(key string, start, stop int64) []string

ZREVRANGE 返回有序集 key 中,指定区间内的成员。 其中成员的位置按 score 值递减(从大到小)来排序。 具有相同 score 值的成员按字典序的逆序(reverse lexicographical order)排列。 下标参数 start 和 stop 都以 0 为底,也就是说,以 0 表示有序集第一个成员,以 1 表示有序集第二个成员,以此类推。 你也可以使用负数下标,以 -1 表示最后一个成员, -2 表示倒数第二个成员,以此类推。 超出范围的下标并不会引起错误。 返回值: 指定区间内的有序集成员的列表。

func (*Conn) ZREVRANGEWITHSCORES

func (db *Conn) ZREVRANGEWITHSCORES(key string, start, stop int64) []map[string]float64

ZREVRANGEWITHSCORES 使用WITHSCORES选项的ZREVRANGE

func (*Conn) ZREVRANK

func (db *Conn) ZREVRANK(key string, member interface{}) int64

ZREVRANK 返回有序集 key 中成员 member 的排名。其中有序集成员按 score 值递减(从大到小)顺序排列。 排名以 0 为底,也就是说, score 值最小的成员排名为 0 。 返回值:

  • 如果 member 是有序集 key 的成员,返回 member 的排名。
  • 如果 member 不是有序集 key 的成员,返回 -1。

func (*Conn) ZSCORE

func (db *Conn) ZSCORE(key string, member interface{}) string

ZSCORE 返回有序集 key 中,成员 member 的 score 值。 如果 member 元素不是有序集 key 的成员,或 key 不存在,返回 nil 。

Jump to

Keyboard shortcuts

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