简介:
redis是一个开源的非关系型数据库,使用ANSI C语言编写、遵循BSD协议、支持网络、可基于内存亦可持久化的日志型、Key-value型数据库,并提供多种语言的API。和Memcached类似,它支持存储的value类型相对更多。继承了Memcached的优势将数据缓存到内存中提高读取性能,同时Redis还周期性的将数据追加到磁盘上做永久的存储。
1.Redis的特点:
(1)内存数据库,速度快,也支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。
(2)Redis不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储。
(3)Redis支持数据的备份,即master-slave模式的数据备份。
(4)支持事务
2.Redis的优势:
(1)性能极高 – Redis能读的速度是110000次/s,写的速度是81000次/s 。
(2)丰富的数据类型 – Redis支持二进制案例的 Strings, Lists, Hashes, Sets 及 Ordered Sets 数据类型操作。
(3)原子 – Redis的所有操作都是原子性的,同时Redis还支持对几个操作合并后的原子性执行。(事务)
事务支持上:
Redis 事务支持比较弱,只能保证事务中的每个操作连续执行
mongodb不支持事务
线程支持上:
Redis只能使用单线程,性能受限于CPU性能
应用场景上:
redis:数据量较小的更性能操作和运算上
MongoDB:主要解决海量数据的访问效率问题
3.redis适用场景:
1.取最新N个数据的操作。
2.排行榜应用,取TOP N操作。
3.需要精准设定过期时间的应用。
4.计数器应用。
5.Uniq操作,获取某段时间所有数据排重值。
6.实时系统,反垃圾系统。
7.Pub/Sub构建实时消息系统。
8.构建队列系统。
9.缓存