Redis 是一种基于键值对(key-value)的NoSql 数据库。Redis 中的值可以是由string(字符串)、hash(哈希)、list(列表)、set(集合)、zset(有序集合)、Bitmaps(位图)、HyperLogLog、GEO(地理信息定位)等多种数据结构和算法组成,因此Redis 可以满足很多场景的应用。而且,因为Redis 会将所有数据都存放在内存中,所以它的读写性能非常惊人。不仅如此,Redis 还可以将内存的数据利用快照和日志的形式保存到硬盘上,这样在发生类似断电或者机器故障的时候,内存中的数据不会 “丢失” 。除了上述功能以外,Redis 还提供了键过期、发布订阅、事务、流水线、Lua 脚本等附加功能。 Redis 特性 1.速度快 官方给出的数字是读写性能可以达到10万/秒,当然这也取决于机器的性能。大致归纳速度快的四点原因如下: # Redis 的所有数据都是放在内存中的,这也是最主要的原因; # Redis 是用C 语言实现的,“距离” 操作系统更近,执行速度相对会更快; # Redis 使用了单线程架构,预防了多线程可能产生的竞争问题; # 源代码精细,集性能与优雅与一身; 2.基于键值对的数据结构服务器 与很多键值对数据库不同的是,Redis 中的值不仅可以是字符串,而且还可以是具体的数据结构,这样不仅便于在许多应用场景开发