Go redis操作

Posted jeikerxiao

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Go redis操作相关的知识,希望对你有一定的参考价值。

Go redis的操作,五种数据结构的基本操作汇总

一、String 操作

命令说明
Set (key, value)给数据库中名称为 key 的 string 赋予值 valueget (key):返回数据库中名称为 key 的 string 的 value
GetSet (key, value)给名称为 key 的 string 赋予上一次的 value
MGet (key1, key2,…, key N)返回库中多个 string 的 value
SetNX (key, value)添加 string,名称为 key,值为 value
SetXX (key, time, value)向库中添加 string,设定过期时间 time
MSet (key N, value N)批量设置多个 string 的值
MSetNX (key N, value N)如果所有名称为 key i 的 string 都不存在
Incr (key)名称为 key 的 string 增 1 操作
Incrby (key, integer)名称为 key 的 string 增加 integer
Decr (key)名称为 key 的 string 减 1 操作
Decrby (key, integer)名称为 key 的 string 减少 integer
Append (key, value)名称为 key 的 string 的值附加 valuesubstr (key, start, end)

二、List 操作

命令说明
RPush (key, value)在名称为 key 的 list 尾添加一个值为 value 的元素
LPush (key, value)在名称为 key 的 list 头添加一个值为 value 的 元素
LLen (key)返回名称为 key 的 list 的长度
LRange (key, start, end)返回名称为 key 的 list 中 start 至 end 之间的元素
LTrim (key, start, end)截取名称为 key 的 list
LIndex (key, index)返回名称为 key 的 list 中 index 位置的元素
LSet (key, index, value)给名称为 key 的 list 中 index 位置的元素赋值
LRem (key, count, value)删除 count 个 key 的 list 中值为 value 的元素
LPop (key)返回并删除名称为 key 的 list 中的首元素
RPop (key)返回并删除名称为 key 的 list 中的尾元素
BLPop (key1, key2,… key N, timeout)lpop 命令的 block 版本。
BRPop (key1, key2,… key N, timeout)rpop 的 block 版本。
RPopLPush (srckey, dstkey)返回并删除名称为 srckey 的 list 的尾元素,并将该元素添加到名称为 dstkey 的 list 的头部

三、Hash 操作

命令说明
HSet (key, field, value)向名称为 key 的 hash 中添加元素 field
HGet (key, field)返回名称为 key 的 hash 中 field 对应的 value
HMget (key, (fields))返回名称为 key 的 hash 中 field i 对应的 value
HMset (key, (fields))向名称为 key 的 hash 中添加元素 field
HIncrby (key, field, integer)将名称为 key 的 hash 中 field 的 value 增加 integer
HExists (key, field)名称为 key 的 hash 中是否存在键为 field 的域
HDel (key, field)删除名称为 key 的 hash 中键为 field 的域
HLen (key)返回名称为 key 的 hash 中元素个数
HKeys (key)返回名称为 key 的 hash 中所有键
HVals (key)返回名称为 key 的 hash 中所有键对应的 value
HGetall (key)返回名称为 key 的 hash 中所有的键(field)及其对应的 value

四、Set 操作

命令说明
SAdd (key, members…)向名称为 key 的 set 中添加元素 member
SCard (key)返回当前 set 表元素个数
SDiff (key…)返回两个表中元素的交集 / 并集 / 补集
SDiffStore (destination, key…)将两个表交集 / 并集 / 补集元素 copy 到第三个表中
SInter (key…)返回两个表中元素的交集 / 并集 / 补集
SInterStore (destination, key…)将两个表交集 / 并集 / 补集元素 copy 到第三个表中
SIsMember (key, member)判断元素是否属于当前表
SMembers (key)返回当前表的所有元素
SMove (source, destination , member)移动当前 set 表的指定元素到另一个 set 表
SPop (key)弹出首元素
SPopN (key, count)弹出多个元素
SRandMember (key)返回表中一个随机元素
SRandMemberN (key, count)返回表中 N 个随机元素
SRem (key,members…)移除指定元素
SUnion (key…)返回两个表中元素的交集 / 并集 / 补集
SUnionStore (destination, key…)将两个表交集 / 并集 / 补集元素 copy 到第三个表中

五、ZSet 操作

命令说明
ZAdd (key string, members)增加元素,并设置序号,返回 true, 重复返回 false
ZCard (key)统计元素个数
ZCount (key, min, max)统计一个索引区间的元素个数
ZIncrBy (key string, increment, member)对指定元素索引值的增减,改变元素排列次序
ZRange (key string, start, stop)按位置次序返回表中指定区间的元素
ZRank (key, member)返回元素所在表顺序 / 降序的位置 (不是索引)
ZRemRangeByRank (key string, start, stop int64)删除表中指定位置区间的元素

六、stream 操作

redis5.0 新增 stream 基本操作

命令说明
XAdd添加消息
XRead消费消息
XDel删除消息
XGroup消费组管理
XReadgroup分组消费
XRange获取没有删除标识的消息列表
XLen获取整个 Stream 的消息长度
Del删除整个 Stream 的消息
XPending查看未处理消息
XAck确认消息已经被处理
XClaim转移消息
XInfo查看队列信息
XTrim消息队列容量
XRevrange逆序获取消息队列中的消息

以上是关于Go redis操作的主要内容,如果未能解决你的问题,请参考以下文章

Go开源宝藏Go 语言操作 Redis

go操作redis

go操作redis

Go语言操作Redis

Go语言与Docker操作Redis

Go语言操作Redis