2 Star 1 Fork 0

golangx / redis

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
string.go 3.23 KB
一键复制 编辑 原始数据 按行查看 历史
luohancai 提交于 2019-06-11 03:21 . 第一次提交
package redis
import (
"github.com/garyburd/redigo/redis"
"github.com/rs/zerolog/log"
)
// GET 返回与键 key 相关联的字符串值。
func (db *Conn) GET(key string) string {
res, err := redis.String(db.Conn.Do("GET", key))
if err != nil {
log.Error().Err(err).Str("key", key).Msg("redis GET 操作失败")
}
return res
}
// SET 将字符串值 value 关联到 key 。
// 如果 key 已经持有其他值, SET 就覆写旧值, 无视类型。 特别注意:无视类型覆盖
// 当 SET 命令对一个带有生存时间(TTL)的键进行设置之后, 该键原有的 TTL 将被清除。
func (db *Conn) SET(key, value string) error {
_, err := db.Conn.Do("SET", key, value)
if err != nil {
log.Error().Err(err).Str("key", key).Str("value", value).Msg("redis SET 操作失败")
}
return err
}
// INCR 为键 key 储存的数字值加上一。
// 如果键 key 不存在, 那么它的值会先被初始化为 0 , 然后再执行 INCR 命令。
// 如果键 key 储存的值不能被解释为数字, 那么 INCR 命令将返回一个错误。
// 本操作的值限制在 64 位(bit)有符号数字表示之内。
// 返回值: INCR 命令会返回键 key 在执行加一操作之后的值。
func (db *Conn) INCR(key string) int64 {
res, err := redis.Int64(db.Conn.Do("INCR", key))
if err != nil {
log.Error().Err(err).Str("key", key).Msg("INCR操作错误")
}
return res
}
// INCRBY 为键 key 储存的数字值加上增量 increment 。
// 如果键 key 不存在, 那么键 key 的值会先被初始化为 0 , 然后再执行 INCRBY 命令。
// 如果键 key 储存的值不能被解释为数字, 那么 INCRBY 命令将返回一个错误。
// 本操作的值限制在 64 位(bit)有符号数字表示之内。
// 返回值: 在加上增量 increment 之后, 键 key 的值。
func (db *Conn) INCRBY(key string, increment int64) int64 {
res, err := redis.Int64(db.Conn.Do("INCRBY", key, increment))
if err != nil {
log.Error().Err(err).Str("key", key).Msg("INCRBY操作错误")
}
return res
}
// INCRBYFLOAT 为键 key 储存的值加上浮点数增量 increment 。
// 如果键 key 不存在, 那么 INCRBYFLOAT 会先将键 key 的值设为 0 , 然后再执行加法操作。
// 如果命令执行成功, 那么键 key 的值会被更新为执行加法计算之后的新值, 并且新值会以字符串的形式返回给调用者。
// 无论加法计算所得的浮点数的实际精度有多长, INCRBYFLOAT 命令的计算结果最多只保留小数点的后十七位。
// 当以下任意一个条件发生时, 命令返回一个错误:
// 键 key 的值不是字符串类型(因为 Redis 中的数字和浮点数都以字符串的形式保存,所以它们都属于字符串类型);
// 1.键 key 当前的值或者给定的增量 increment 不能被解释(parse)为双精度浮点数。
//
// 本操作的值限制在 64 位(bit)有符号数字表示之内。
// 返回值: 在加上增量 increment 之后, 键 key 的值。
func (db *Conn) INCRBYFLOAT(key string, increment float64) float64 {
res, err := redis.Float64(db.Conn.Do("INCRBYFLOAT", key, increment))
if err != nil {
log.Error().Err(err).Str("key", key).Float64("increment", increment).Msg("INCRBYFLOAT操作错误")
}
return res
}
Go
1
https://gitee.com/golangx/redis.git
git@gitee.com:golangx/redis.git
golangx
redis
redis
bf514b6fe782

搜索帮助