1.string
1.1最常用
- set key value
- get key
- mset k1 v1 k2 v2
- mget k1 k2
1.2数值增减
- 递增数字:INCR key
- 增加指定的整数:INCRBY key increment
- 递减数值:DECR key
- 减少指定的整数:DECR key decrement
1.3获取字符串的长度
- STRLEN key
1.4分布式锁
- setnx key value
- set key value [EX seconds] [PX milliseconds] [NX|XX]
- EX:key在多少秒之后过期
- PX:key在多少毫秒之后过期
- NX:当key不存在的时候,才创建key,效果等同于setnx
- XX:当key存在的时候,覆盖key
1.5应用场景
- 商品编号,订单号,客户编号采用INCR命令生成
- 是否喜欢的文章
2.hash
- Map<String,Map<Object,Object>>
- 一次设置一个字段值:HSET key field value
- 一次获取一个字段值:HGET key field
- 一次设置多个字段值:HMSET key field value [field value...]
- 一次获取多个字段值:HMGET key field [field...]
- 获取所有字段值:hgetall key
- 获取某个key内的全部数量:hlen
- 删除一个key:hdel
- 应用场景:购物车早期,当前中小厂可用:
3.list
- 向列表左边添加元素:LPUSH key value [value...]
- 向列表右边添加元素:RPUSH key value [value...]
- 查看列表:LRANGE key start stop
- 获取列表中元素的个数:LLEN key
- 应用场景:微信文章订阅公众号:
4.set
- 添加元素:SADD key member [member...]
- 删除元素:SREM key member [member...]
- 获取集合中的所有元素:SMEMBERS key
- 判断元素是否在集合中:SISMEMBER key member
- 获取集合中的元素个数:SCARD key
- 从集合中随机弹出一个元素,元素不删除:SRANDMEMBER key [数字]
- 从集合中随机弹出一个元素,出一个删一个:SPOP key [数字]
- 集合运算:
- 集合的差集运算A-B:属于A但不属于B的元素构成的集合(SDIFF key [key...])
- 集合的交集运算:属于A同时也属于B的共同拥有的元素构成的集合(SINTER key [key...])
- 集合的并集运算:属于A或者属于B的元素合并后的集合(SUNION key [key...])
- 应用场景:
- 微信抽奖小程序:
- 微信朋友圈点赞:
- 微博好友关注社交关系:
共同关注的人:
QQ内推可能认识的人:
- 微信抽奖小程序:
5.zset
- 向有序集合中加入一个元素和该元素的分数
- 添加元素:ZADD key score member [score member...]
- 按照元素分数从小到大的顺序,返回索引从start到stop之间的所有元素:ZRANGE key start stop [WITHSCORES]
- 获取元素的分数:ZSCORE key member
- 删除元素:ZREM key member [member...]
- 获取指定分数范围的元素:ZRANGEBYSCORE key min max [WITHSCORES] [LIMIT offset count]
- 增加某个元素的分数:ZINCRBY key increment member
- 获取集合中元素的数量:ZCARD key
- 获得指定分数范围内的元素个数:ZCOUNT key min max
- 按照排名范围删除元素:ZREMRANGEBYRANK key start stop
- 获取元素的排名:从小到大:ZRANK key member,从大到小:ZREVRANK key member
- 应用场景:
- 根据商品销售对商品进行排序显示:
- 抖音热搜:
- 根据商品销售对商品进行排序显示: