redis特性

Redis全称是Remote Dictionary Server

速度快

  1. 官方给出的数字是读写性能可以达到10万/秒
  2. Redis的所有数据都是存放在内存中的
  3. Redis是用C语言实现的
  4. Redis使用了单线程架构,预防了多线程可能产生的竞争问题

基于键值对的数据结构服务器

  1. Redis主要提供了5种数据结构:字符串、哈希、列表、集合、有序集合,同时在字符串的基础之上演变出了位图(Bitmaps)和Hyper-LogLog两种数据结构。

丰富的功能
除了5中数据结构,Redis还提供了许多额外的功能:

  • 提供了键过期功能,可以用来实现缓存
  • 提供了发布订阅功能,可以用来实现消息系统
  • 支持Lua脚本功能,可以利用Lua创造出新的Redis命令
  • 提供了简单的事务功能,可以利用Lua创造出新的Redis命令
  • 提供了流水线(Pipeline)功能,这样客户端能将一批命令一次性传到Redis,减少了网络的开销。

简单稳定

  • 代码量相对少
  • 不需要依赖操作系统中的类库
  • Redis自己实现了事件处理的相关功能
  • 作者维护的上千个Redis为例,没有出现过因为Redis自身bug而宕机的情况

客户端语言多

  • Java、PHP、Python、C、C++、Nodejs

持久化

  • RDB、AOF

主从复制

高可用和分布式

  • Redis从2.8开始正式提供了Redis Sentinel
  • Redis从3.0开始正式提供了Redis Cluster,它是Redis真正的分布式实现,提供了高可用、读写和容量的扩展性。

Redis可以做什么

  1. 缓存
  2. 排行榜系统
  3. 计数器
  4. 社交网络
    -- 赞/踩、粉丝、共同好友/喜好、推送、下拉刷新等是社交网站的必备功能,由于社交网站访问量通常比较大,而且传统的关系型数据不太适合保存这种类型的数据,Redis提供的数据结构可以相对比较容易地实现这些功能。
  5. 消息队列系统
    -- 订阅功能和阻塞队列

Redis不可以做什么
站在数据规模和数据冷热的角度来进行分析

  1. 数据量太大,则不适合用Redis存储
  2. 冷数据需要存储在Redis,热数据存储在Redis可以加速读写,也可以减轻后端存储的负载

你可能感兴趣的:(redis特性)