直接点说Redis是一个软件,可以下载安装的那种;
具体点说Redis是一个key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set --有序集合)和hash(哈希类型)。
既然是存储系统,那么它跟数据库又有什么异同呢?
传统的关系型数据库能够容纳海量数据,功能完善,具有事务一致性。它用关系模型来组织数据,简单来说就是表。有完整的SQL查询支持,容易维护。但是这种数据库的海量数据是存储在硬盘上的,对于网站的高并发访问,面对每秒上万次的读写请求,硬盘的读写速度便成了传统数据库的瓶颈。
而Redis采用的是Key-Value Store,数据都是缓存在内存中,可以直接使用Redis作为数据库,或者增加一级Redis作为缓存服务器,当Redis中没有要找的数据时再访问传统数据库。相比需要依赖磁盘记录每个更新的数据库,基于内存的特性无疑给 Redis 带来了非常优秀的性能。