Redis自学笔记 --Hash、List、Set类型简述
Hash类型
hset key field value
设置hash field为指定值,如果key不存在,则先创建。
hget key field
获取指定的hash field。
hmget key filed1....fieldN
获取全部指定的hash filed。
hmset key filed1 value1 ... filedN valueN
同时设置hash的多个field。
hincrby key field integer
将指定的hash filed 加上给定值。
hexists key field
测试指定field是否存在。
hdel key field
删除指定的hash field。
hlen key
返回指定hash的field数量。
hkeys key
返回hash的所有field。
hvals key
返回hash的所有value。
hgetall
返回hash的所有filed和value。
List类型
lpush key string
在key对应list的头部添加字符串元素,返回1表示成功,0表示key存在且不是list类型。
rpush key string
在尾部添加。
llen key
返回key对应list的长度,key不存在返回0,如果key对应类型不是list返回错误。
lrange key start end
返回指定区间内的元素,下标从0开始,负值表示从后面计算,-1表示倒数第一个元素 ,key不存在返回空列表。
ltrim key start end
截取list,保留指定区间内元素,成功返回1,key不存在返回错误。
lset key index value
设置list中指定下标的元素值,成功返回1,key或者下标不存在返回错误。
lrem key count value
从key对应list中删除count个和value相同的元素。count为0时候删除全部。
lpop key
从list的头部删除元素,并返回删除元素。如果key对应list不存在或者是空返回nil,如果key对应值不是list返回错误。
rpop
从尾部删除。
blpop key1...keyN timeout
从左到右扫描返回对第一个非空list进行lpop操作并返回,比如blpop list1 list2 list3,如果list不存在list2,list3都是非空则对list2做lpop并返回从list2中删除的元素。如果所有的list都是空或不存在,则会阻塞timeout秒,timeout为0表示一直阻塞。如果超时发生,则返回nil。
rpoplpush srckey destkey
从srckey对应list的尾部移除元素并添加到destkey对应list的头部,最后返回被移除的元素值,整个操作是原子的.如果srckey是空或者不存在返回nil。
Set类型
sadd key member
添加一个string元素到,key对应的set集合中,成功返回1,如果元素以及在集合中返回0,key对应的set不存在返回错误。
srem key member
从key对应set中移除给定元素,成功返回1,如果member在集合中不存在或者key不存在返回0,如果key对应的不是set类型的值返回错误。
spop key
删除并返回key对应set中随机的一个元素,如果set是空或者key不存在返回nil。
srandmember key
同spop,随机取set中的一个元素,但是不删除元素smove srckey dstkey member 从srckey对应set中移除member并添加到dstkey对应set中,整个操作是原子的。成功返回1,如果member在srckey中不存在返回0,如果key不是set类型返回错误。
scard key
返回set的元素个数,如果set是空或者key不存在返回0。
sismember key member
判断member是否在set中,存在返回1,0表示不存在或者key不存在。
sinter key1 key2...keyN
返回所有给定key的交集。
sunion key1 key2...keyN
返回所有给定key的并集。
sunionstore dstkey key1...keyN
同sunion,并同时保存并集到dstkey下。
sdiff key1 key2...keyN
返回所有给定key的差集。
sdiffstore dstkey key1...keyN
同sdiff,并同时保存差集到dstkey下。
smembers key
返回key对应set的所有元素,结果是无序的。
出处:http://yydcdut.cnblogs.com/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?