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 | 逆序获取消息队列中的消息 |
|