Redis 是一个基于内存的键值型 NoSQL 数据库
特征:
- 键值型:value 支持多种不同数据类型,功能丰富
- 单线程:每个命令具备原子性
- 延迟低、速度快: 基于内存、IO多路复用、良好的编码
- 支持数据持久化
- 支持主从集群、分片集群
- 支持多语言客户端:Java、C等等
Redis是一个 key-value 的数据库,key 一般是 String 类型,不过 value 的类型多种多样:
名称 示例 String hello world Hash {name: "Jack", age: 21} List [A -> B -> C] Set {A,B,C} SortedSet {A: 1, B: 2, C: 3}
[问题]:Redis 没有类似 MySql 中的 Table 的概念,要怎么区分不同类型的 key 呢?
[解决方法]:Redis 的 key 支持有多个单词形成层次结构,多个单词之间用" :"隔开。例如 myproduct:user:1
myproduct:product:1
KEY VALUE