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