合规国际互联网加速 OSASE为企业客户提供高速稳定SD-WAN国际加速解决方案。 广告
redis常用的数据类包含一下5种 * String:缓存、限流、计数器、分布式锁、分布式Session * Hash:存储用户信息、用户主页访问量、组合查询 * List:微博关注人时间轴列表、简单队列 * Set:赞、踩、标签、好友关系 * Zset:排行榜 主要的命令使用方式和应用场景 STRING [字符] get set setex getnx getrange setrange getset mget mset incr decr incrby decrby append strlen 应用场景: 访问人数, IP封禁黑名单等计数应用, session HASH [哈希] hget hset hsetnx hmset hmget hincrby hexists hlen hdel hkeys hvals hgetall 应用场景: 结构化的对象信息,比如用户信息,每个hash表都存储一个对象实例,键值对即为对象属性 LIST [链表] lpush rpush lrange linsert lset lrem ltrim lpop rpop rpoplpush lindex llen 应用场景: 消息队列,多机日志收集,如果一个服务的运行流程在多个服务器传递,该服务的日志可以顺序写入list,再用一个work统一写入磁盘 SET [无序集合] sadd srem smembers srem spop sdiff sdiffstore sinter sinterstore sunion sunionstore smove scard sismember srandmember 应用场景: 黑盒抽奖,社交系统的共同好友和你可能认识 SORTED SET [有序集合] 集合成员多了一个权重属性score,方便集合进行权重排序 zadd zrange zincrby zrank zrevrank zrevrange zrangebyscore zcount zcard zremrangebyrank zremrangebyscore 应用场景: 具有优先级的任务队列,成绩排名(选手ID为元素,成绩为权重) 参考文章: https://zhuanlan.zhihu.com/p/24054727 https://www.jianshu.com/p/cb3ac6b639fd