Redis的五种数据类型
1. String
应用场景:
统计网站访问数量、当前在线人数、微博数、粉丝数等,全局递增ID等 。
常用命令:
SET key value
GET key
MSET key1 value1 [key2 value2]
MGET key1 key2
INCR key
DECR key
SETNX key value
只有key 不存在时,才设置key的值
2. Hash
应用场景
保存用户的详细信息。用ID作为key,value则用一组field-value的形式保存。
常用命令
HSET key field value
HGET key field
HGETALL key
HMSET key field1 value1 [field2 value2]
HMGET key field1 [filed2]
3.List
应用场景
获取最新的评论列表,获取最后登录10个用户,获取最近7天的活跃用户数等。
常用命令(L/R)
LPUSH key value1 [value2]
将一个或多个值插入到列表头部
LPOP key
移出并获取列表的第一个元素
RPUSH key value1 [value2]
在列表尾部添加一个或多个值
RPOP key
移除并获取列表最后一个元素
LREM key count value
移除列表元素
LRANGE key start stop
获取列表指定范围内的元素
4.Set
应用场景
a.利用唯一性,可以存取当天的活跃用户列表。
b.利用集合操作,可以取不同兴趣圈子的交集,可以取当天的新增用户等。
常用命令(S)
SADD key member1 [member2]
向集合添加一个或多个成员
SDIFF key1 [key2]
返回给定所有集合的差集
SINTER key1 [key2]
返回给定所有集合的交集
SUNION key1 [key2]
返回所有给定集合的并集
SISMEMBER key member
判断 member 元素是否是集合 key 的成员
SMEMBERS key
返回集合中的所有成员
SREM key member1 [member2]
移除集合中一个或多个成员
5.Sorted Set
应用场景
销量排名,积分排名,时间线等
常用命令
ZADD key score1 member1 [score2 member2]
向有序集合添加一个或多个成员,或者更新已存在成员的分数
ZINCRBY key increment member
有序集合中对指定成员的分数加上增量 increment
ZRANGEBYSCORE key min max [WITHSCORES] [LIMIT]
通过分数范围返回有序集合指定区间内的成员
ZINTERSTORE destination numkeys key [key …]
计算给定的一个或多个有序集的交集,并将结果集存储在新的有序集合 key 中
ZUNIONSTORE destination numkeys key [key …]
计算给定的一个或多个有序集的并集,并存储在新的 key 中