Redis 基础
a.关系型数据库: mysql oracle pg b.⾮关系型数据库:redis mongo elasticsearch c.NoSQL 全名为: not only sql d.NoSQL,指的是⾮关系型的数据库。 NoSQL有时也称作Not Only SQL的缩写是对不同于传统的关系型数据库的数据库管理系统的统 称。 对NoSQL最普遍的解释是“⾮关联型的”,强调Key-Value Stores和⽂档数据库的优点,⽽不是 单纯的RDBMS。 NoSQL⽤于超⼤规模数据的存储。 这些类型的数据存储不需要固定的模式,⽆需多余操作就可以横向扩展。 今天我们可以通过第三⽅平台可以很容易的访问和抓取数据。 ⽤户的个⼈信息,社交⽹络,地理位置,⽤户⽣成的数据和⽤户操作⽇志已经成倍的增加。 我们如果要对这些⽤户数据进⾏挖掘,那SQL数据库已经不适合这些应⽤了 NoSQL数据库的发展也却能很好的处理这些⼤的数据。
1.速度快 c语⾔编写的 代码优雅简洁 单线程架构 2.⽀持多种数据结构 字符串,哈希,列表,集合,有序集合 3.丰富的功能 天然计数器 键过期功能 消息队列 发布订阅 4.⽀持客户端语⾔多 php,java,go,python 5.⽀持数据持久化 所有在运⾏的数据都是放在内存⾥的 ⽀持多种数据久化格式,RDB,AOF,混合持久化 6.⾃带多种⾼可⽤架构 主从,哨兵,集群
1.缓存-键过期 把session数据缓存在redis⾥,过期删除 换⽤⽤户信息,缓存mysql部分的数据,⽤户先访问redis,如果redis没命中,在访问 mysql,然后回写给redis 商城优惠卷过期 短信验证码过期 2.排⾏榜-列表&有序集合 热度/点击量 直播间礼物打赏排⾏榜 3.计数器-天然计数器 帖⼦浏览数 视频播放次数 评论次数 点赞/点踩 4.社交⽹络-集合 粉丝 共同好友/可能认识的⼈ 兴趣爱好/标签 检查⽤户注册名是否已经被注册 5.消息队列-列表 ELK缓存⽇志 聊天记录 6.发布订阅 粉丝关注通知 消息发布
Do everything well