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操作的主要内容,如果未能解决你的问题,请参考以下文章