redis属于nosql的一种。
首先介绍一下nosql的分类:
1、key-value nosql,比如redis,memcached
2、column family nosql(列式存储),比如hbase
3、documentation nosql(文档存储),比如mongodb
4、graph nosql(图形存储)
redis特性:
1、key-value cache and store
2、in-memory
3、single threaded(单线程,因为redis占用cpu的消耗很低,因此cpu一般不会成为瓶颈)
4、支持持久化(snapshotting,快照方式,异步写入到磁盘:AOF,append only file)
5、支持主从(借助于sentinel实现一定意义上的HA:高可用)
6、支持分布式集群(clustering)
7、支持string、list、hash(关联数组)、set、sorted set(有序集合)、bitmap、hyperloglog
redis与memcached比较:
redis优势:
1、支持的数据类型丰富,包括hash、lists、sets、sorted set、hyperloglog
2、内建replication及cluster
3、就地更新操作(in-place update)
4、支持持久化(异步写入磁盘,避免雪崩效应)
memcached优势:
1、多线程(善用多核CPU,更少的阻塞操作)
2、更少的内存开销
3、更少的内存分配压力
4、可能有更少的内存碎片