初识Redis

144 阅读2分钟

初识Redis

  1. 什么是 Redis
    • Redis 是一种基于键值对(key-value)的NoSQL数据库
  2. Redis特性
    • 读写快
      1. 官方给出的数据每秒可以读写1万次/s
      2. 使用的是 C 语言开发
      3. Redis 使用了单线程架构,预防了多线程可能产生的竞争问题。
    • 基于键值对的数据结构服务器
      1. Redis 是基于键值对的方式存储数据,与很多键值对数据库不同的是,Redis中的值不仅可以是字符串,而且还可以是具体的数据结构,这样不仅能便于在许多应用场景的开发,同时也能够提高开发效率。
    • 功能丰富
      1. 提供了键过期功能,可以用来实现缓存。
      2. 提供了发布订阅功能,可以用来实现消息系统。
      3. 支持Lua脚本功能,可以利用Lua创造出新的Redis命令。
      4. 提供了简单的事务功能,能在一定程度上保证事务特性。
      5. 提供了流水线(Pipeline)功能,这样客户端能将一批命令一次性传到 Redis,减少了网络的开销。
    • 简单稳定
      1. Redis 源代码量少
      2. Redis 使用的是单线程,使开发更简单
      3. Redis 不依赖系统中的类库
    • 客户端语言多
      1. Redis提供了简单的TCP通信协议,很多编程语言可以很方便地接入到Redis
    • 持久化
      1. Redis提供了两种持久化方式:RDB和AOF
    • 主从复制
      1. Redis提供了复制功能,实现了多个相同数据的Redis副本
    • 高可用和分布式
      1. Redis从2.8版本正式提供了高可用实现Redis Sentinel,它能够保证 Redis 节点的故障发现和故障自动转移。Redis从3.0版本正式提供了分布式实现 Redis Cluster,它是Redis真正的分布式实现,提供了高可用、读写和容量的扩展性。

附:

  1. 什么是基于键值:
    1. 几乎所有的编程语言都提供了类似字典的功能,例如Java里的map、Python里的dict,类似于这种组织数据的方式叫作基于键值的方式