介绍:
remote dictionary server
是一个高性能的(key/value)分布式内存数据库
键值
开源的,key-value,被定义为数据结构服务器,Strings,hashes,lists,sets,sorted sets
这些数据类型都支持push/pop,add/remove及取交集和并集及更丰富的操作
redis支持各种不同方式的排序
为了保证效率,写入内存中,也可以周期性写入磁盘或把修改操作写入追加的记录文件
支持的API语言种类非常多
最大的redis用户是新浪微博,在新浪有200台物理机,400多个端口,+4G数据在redis上提供服务(
两种场景:
- 应用程序直接访问redis(不安全,若一台redis down掉)
2.应用程序直接访问redis,只有当redis访问失败,才访问mysql
redis特点:
- 支持数据持久化(内存-磁盘)
- 不仅仅提供简单的key-value类型的数据,还提供hash,set,zset,list等数据结构的存储
- redis支持数据的备份master-slave
redis使用场景
- 取最新N个数据
- 排行榜应用,取TOPN
- 精确设定过期时间
- 计数器
- Uniq操作,排重
- 实时系统,反垃圾
- Pub/Sub实时消息系统(redis独有的)
- 构建队列系统
- 缓存
NoSQL的介绍
NoSQL not only sql
redis: 非关系型的 分布式的 开源的 水平可扩展的
与传统区别: 传统: SQL标准 ACID属性(事物) 表结构
特点:1.处理超大量数据 2. 运行再便宜集群 3.击碎性能瓶颈
适用: 1. 对数据高并发读写 2.对海量数据的高效率存储和访问 3. 对数据的高可扩展和高可用性(增加节点 分布式)