Redis数据类型
命令不区分大小写,key区分大小写
1、数据类型
- String (字符串)
- Hash (散列)
- List (列表类型)
- Set (集合类型)
- SortedSet (有序集合类型,简称 Zset)
- Bitmap (位图)
- HyperLoglog (统计)
- GEO (地理)
- Stream
2、String的使用
2.1 最常用
- set key value
- get key
2.2 同时设置/获取多个键值
- mset key value [key, value, key ,value ……]
- mget key [key ……]
2.3 数值的增减
- 递增数值 incr key
- 增加指定的整数 incrby key increment
- 递减数值 decr key
- 减少指定的整数 decrby key decrment
2.4 获取 字符串长度
- strlen key
2.5 分布式锁
- setnx key value
- set key value [EX seconds] [PX milliseconds] [NX|XX]
- EX 表示key 在多少秒之后过期
- PX 表示在多少毫秒之后过期
- NX 表示当key
不存在
的时候,才创建key,效果等同于 setnx - XX 表示当key
存在
的时候,覆盖key
2.6 应用场景
3、Hash的使用
3.1 Map<String, Map<Object, Object>>
3.2 一次设置一个字段值
- hset key feild value
3.3 一次获取一个字段值
- hget key feild
3.4 一次设置多个字段值
- hmset key feild value [feild value ……]
- key 表示map的key
- feild表示 map中value的key
- value 表示 map 中value的value
3.5 一次获取多个字段值
- hmget key feild [feild……]
3.6 获取所有字段值
- hgetall key
3.7 获取某个key内的全部数量
- hlen
3.8 删除一个 key
- hdel
3.9 应用场景
- JD某物车早期
- 设计目前不再采用,当前中小厂可用
4、list的使用
4.1 说明
一个双端链表的结构
,容量是2的32次方减一个元素,大概40多亿,主要功能有 push/pop等,一般用在栈、队列、消息队列等场景。
4.2 向列表左边添加元素
- lpush key value [value ……]
4.3 向列表右边添加元素
- rpush key value [value……]
4.4 查看列表
- lrange key start stop
4.5 获取列表中元素的个数
- llen key
4.6 应用场景
5、set的使用 (无重复)
无重复数据的容器
5.1 添加元素
- sadd key member [member……]
5.2 删除元素
- srem key member [member……]
5.3 遍历集合中的所有元素
- smembers key
5.4 判断元素 是否在集合中
- sismember key member
5.5 获取集合中的元素总数
- scard key
5.6 从集合中随机弹出一个元素,元素不删除
- srandmember key [数字]
5.7 从集合中随机弹出一个元素,出一个删一个
- spop key [数字]
5.8 集合运算
- A、B
- A : abc12
- B: 123ax
- 集合的差集运算 A-B
- 属于A但是不属于B的元素构成的集合
sdiff key [key……]
- 集合的交集运算 A∩B
- 属于A同时也属于B的共同拥有的元素构成的集合
sinter key [key……]
- 集合的并集运算 A∪B
- 属于A或者属于B的元素合并后的集合
sunion key [key……]
5.9 应用场景
- 微信抽奖小程序
- 微信朋友圈点赞
- 微博好友关注社交关系
- 共同关注的人
- 我关注的人也关注他(大家爱好相同)
- QQ内推可能认识的人
6、Zset的使用
向有序集合中加入一个元素和该元素的分数
6.1 添加元素
6.2 按照元素分数从小到打的顺序,返回索引从 start 到 stop 之间的所有元素
- zrange key start stop [withscores]
6.3 获取元素的分数
- Zscore key member
6.4 删除元素
- zrem key member [member……]
6.5 获取指定分数范围的元素
6.6 增加某个元素的分数
- zincrby key increment member
6.7 获取集合中元素的数量
- zcard key
6.8 获取元素的排名
- 从小到大
- zrank key member
- 从大到小
- zrevrank key member
6.9 应用场景
- 根据商品销售队商品进行排序显示
- 抖音热搜
- 点击视频 => zincrby hotvcr:20211019 1 八佰
- zincrby hotvcr:20211019 15 八佰 2 花木兰
- 展示当日排行前10条 => zrevrange hotvcr:20211019 0 9 withscores
- 点击视频 => zincrby hotvcr:20211019 1 八佰
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。