简介
Redis
全称Remote Dictionary Server(远程字典服务),是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库(非关系型数据库,即NoSQL),并提供多种语言的API。
Redis
遵守BSD协议,免费开源。自其诞生以来,就以其超高的性能、完美的文档和简洁易懂的特性广受好评。
常见的内存数据库:Redis、Oracle Berkeley DB、SQLite(轻量级)、Memcache(键值型分布式)、Altibase。
Redis优势
- 高性能 Redis读能达到 110000次/秒,写能达到 81000次/秒
- 支持多种数据类型 不仅仅支持简单的key-value类型的数据,同时提供了list、set、hash、zset、bitmap(位图)、HyperLogLog(基数统计)、GEO、Steam、bitfield(位域)
- 支持数据持久化 可将内存中的数据保存在磁盘中,重启后可再次进行加载
- 支持数据备份
- 支持多种编程语言
- 多用途工具 可用作缓存、消息队列
Redis与其他key-value存储的不同
- Redis有更为复杂的数据结构并且提供原子性操作,且无需进行额外的抽象;
- Redis运行在内存中单可持久化到磁盘(对不同的数据集进行读写需权衡内存,数据量不能大于硬件内存)。另外在内存中操作非常简单,继而可以做很多内部复杂性很强的事情。同时,在磁盘格式上以紧凑的追加的方式存储,所以无需进行随机访问。
Redis应用场景
Redis
常被用来缓存数据(热点数据或需消耗大量资源的数据),可加快程序读取到这些数据。如,网站中需要经常被访问,且在访问过程中会消耗大量的资源,此时可将这些数据放在 Redis中,可降低网站的压力,减少页面访问的延时。
其他场景:分布式会话、排行榜、分布式计数器、分布式锁等。
相关资源
Redis 官网:https://redis.io/
Redis中文官网:https://www.redis.net.cn/
源码地址:https://github.com/redis/redis
Redis 在线测试:http://try.redis.io/
Redis 命令参考:http://doc.redisfans.com/