redis kv缓存
1.支持string list set zset hash
2.序列化:aof+rdb
3.存储格式
redisObject
string:int、raw或者embstr
list:ziplist或者linkedlist
hash:ziplist或者hashtable
set:intset或者hashtable
zset:ziplist,另一种是skiplist与dict的结合
4.expire原理:100ms抽取key判断
5.性能:单线程+epoll
6.分布式:master+多slave+sharding 哨兵监视
7.缓存 【穿透:攻击:过滤】 【雪崩:失效:预热,随机过期】
8.淘汰策略1.noeviction 2.lru 3.ttl
9.应用
- 分布式锁setnx+expire/redlock
- 全局id
- 点赞
- 消息队列,lrpush+brpop rpush+blpop
- 关注模型:交集 zinter
- 排行榜
- 筛选
- 抽奖