Redis(Remote Dictionary Server)是一个开源的内存数据存储系统,通过键值对的形式存储数据。它以高效、灵活和可扩展著称。

1.什么是Redis
Redis是一种面向 “Key-Value” 数据类型的内存数据库,可以满足我们对海量数据的快速读写需求。
注意:首先Redis是一种内存数据库,它的数据都是放在内存里面的,然后Redis中存储的数据都是key-value类型的,其中key只能是字符串,value支持多种数据类型。
常见的有string、hash、list、set、sortedset等。
- 字符串 string
- 哈希 hash,类似于java中的hashmap
- 字符串列表 list
- 字符串集合 set 不重复,无序
- 有序集合sorted set ,不重复,有序
2.Redis的特点
Redis有以下特点:
- 高性能:Redis读的速度是11W次/s,写的速度是8.1W次/s。
- 原子性:保证数据的准确性。
- 持久存储:支持两种方式的持久化,RDB和AOF,可以把内存中的数据持久化到磁盘中。
- 支持主从:master-slave架构(主从模式),可以实现负载均衡、高可用。
- 支持集群:从3.0版本开始支持。
需要注意下两点:
- Redis是一个单线程的服务,之所以这么设计,主要是为了保证redis的快速,高效,如果涉及了多线程,就需要使用锁机制来解决并发问题,这样执行效率反而会大打折扣。
- Redis是一个 NoSQL 数据库,NoSQL的全称是not only sql,不仅仅是SQL,泛指非关系型数据库,这种类型的数据库不支持SQL语法。
3.Redis的应用场景
主要应用在高并发和实时请求的场景,例如:新浪微博
hash:关注列表、粉丝列表
string:微博数,粉丝数(避免使用select count(*) from …)
4.Redis为什么这么快?
