目录
List列表类型
所有的list命令都是以l开头的
LPUSH(头部插入) RPUSH(尾部插入)一个或多个值 LRANGE(取值)
LPOP(头部删除) RPOP(尾部删除)
根据索引号取值
获取列表长度
Lrem 移除指定个数的value
Ltrim 通过下标截取指定的长度
rpoplpush 移除列表最后一个元素并移动到新的列表中
lset 将列表中指定下标的值替换为另一个值 (更新操作)
linsert 将某个具体的value插入到列表中某个元素的前面或者后面
小结
Set集合类型
set命令开头都是s set是无序 唯一集合
sadd (set集合中添加元素) smembers (查看指定set所有的值) sismember(判断是否存在)
scard (获取set集合中元素个数)
srem (移除set集合中指定元素)
srandmember (随机抽选出一个元素)
spop (随机移除元素) smembers(查看集合中所有元素)
smove (将一个指定的值 移动到另一个set集合)
sdiff 差集 sinter 交集 sunion 并集
应用场景
微博 用户将所有关注的人放在set中 粉丝也放在set中
共同关注 :A B用户将关注里的人作一个并集 就能查出共同关注
共同爱好 推荐好友(六度分隔理论)。。。。。
Hash key-Map类型
想象成一个Map集合 上面的类型都是存储的key - value
Hash存储的是 key - Map Map又能存储key - value
hset 设值 hget 读值
hmset 设置多个值 hmget读取多个值
hgetall 读取全部数据
hdel 删除hash指定key字段
hlen 查看当前hash中元素个数
hexists 判断hash中的指定字段是否存在
hkeys 获取myhash map中所有key字段
hvals 获取myhash map中所有value的值
incr decr 增1 减1
hsetnx 可以用在分布式锁中
hash应用:
存储变更数据 user name age 尤其是用户信息之类 经常变动的信息
hash更适合对象的存储 String更适合字符串的存储
ZSET 有序集合类型
zadd 添加一个或多个值 zrange 显示值
zrangebyscore key min max 将key从小到大排序
zrevrange key start stop 从大到小排序
显示用户名和薪资情况
zrem 移除集合中的指定元素
zcard 获取集合中元素的个数
zcount 获取指定区间的成员数量
应用场景:
班级成绩、工资表排序
普通消息设1 重要消息设2 。。 带权重判断
排行榜应用实现