Redis从入门到深入-简介

1. Redis

1. 概念

Redis(REmote DIctionary Server)是用C语言开发的一个开源的高性能键值对(key-value)数据库

简单来说redis就是一个数据库,不过与传统数据库不同的是 redis的数据是存在内存中的,所以读写速度非常快,因此 redis被广泛应用于缓存方向。另外,redis 也经常用来做分布式锁。redis提供了多种数据类型来支持不同的业务场景。除此之外,redis支持事务、持久化、LUA脚本、LRU驱动事件、多种集群方案。

2. 特征
  1. 数据间没有必然的联系

  2. 内部采用单线程机制进行工作

  3. 高性能。官方提供测试数据,50个并发执行100000个请求,读的速度是110000次/s,写的速度是81000次/s

  4. 多数据类型支持

    • 字符串类型 string
    • 列表类型 list
    • 散列类型 hash
    • 集合类型 set
    • 有序集合类型 sorted_set
  5. 持久化支持,可以进行数据灾难恢复

3. 应用
  1. 为热点数据加速查询(主要场景),如热点商品,热点新闻,热点资讯,推广类等高访问量信息等
  2. 任务队列,如秒杀,抢购,购票排队等
  3. 即时信息查询,如排行榜,各类网站访问统计,公交到站信息,在线人数信息(聊天室、网站)、设备信号等
  4. 时效性信息控制,如验证码控制,投票控制等
  5. 分布式数据共享,如分布式集群架构中的session分离
  6. 消息队列
  7. 分布式锁
4. 数据存储类型介绍

业务数据的特殊性

4.1 作为缓存使用
  1. 原始业务功能设计

    • 秒杀
    • 618活动
    • 双11活动
    • 排队购票
  2. 运营平台监控到的突发高频访问数据

    • 突发时政要闻,被强势关注围观
  3. 高频、复杂的统计数据

    • 在线人数
    • 投票排行榜
  4. 附加功能

    • 单服务器升级集群
    • Session管理
    • Token管理
4.2 Redis数据类型(5种常用)
  • string String
  • hash HashMap
  • list LinkedList
  • set HashSet
  • sorted_set TreeSet

相关推荐