1、速度快
Redis是用C语言实现的;
Redis的所有数据存储在内存中。
2、持久化
Redis的所有数据存储在内存中,对数据的更新将异步地保存到磁盘上。
3、支持多种数据结构
Redis支持五种数据结构:String、List、Set、Hash、Zset
4、支持多种编程语言
Java、php、Python、Ruby、Lua、Node.js
5、功能丰富
除了支持五种数据结构之外,还支持事务、流水线、发布/订阅、消息队列等功能。
6、源码简单
约23000行C语言源代码。
7、主从复制
主服务器(master)执行添加、修改、删除,从服务器执行查询。
8、高可用及分布式
Redis-Sentinel(v2.8)支持高可用
Redis-Cluster(v3.0)支持分布式
什么是高可用?
一台服务器挂掉会有另一台服务器立马顶上,Redis-Sentinel监听所有的监听所有的Redis主从服务器,一旦发现主服务器挂掉了,他会从若干服务器中选择一台新的机器作为master,其他从服务器会成为这台新master的从服务器。
什么是分布式?
在一台物理计算机上,把数据A放到数据库D1,把数据B放到数据库D2,把数据C放到数据库D3属于分布式,但由于数据库的访问连接池是有限的,所以这种分布式解决方案存在性能瓶颈;
把数据A放到计算机C1的数据库D1,把数据B放到计算机C1的数据库D2,把数据C放到计算机C3的数据库D3也属于分布式,这种分布式解决方案扩展性好,如果系统增加了新业务X,X产生的数据Y可以放到计算机C4的数据库D4中,理论上来说这种方式可以无限扩展,从而保证系统的性能最大化。
存在瓶颈且价格较高的高性能单台服务器->可无限扩展的分布式集群
Redis可执行文件说明:
redis-server.exe Redis服务
redis-cli.exe Redis命令行客户端
redis-benchmark.exe Redis性能测试工具
redis-check-aof.exe AOF文件修复工具
redis-check-dump.exe RDB文件检测工具
redis-sentinel.exe Sentinel服务器(2.8以后)