redis配置、发布订阅,请参考Redis总结(二)
redis分布式锁、缓存、队列,请参考Redis总结(三)
1、Redis介绍
Redis是一个开源的使用ANSI C语言编写、遵守BSD协议、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。它通常被称为数据结构服务器,因为值(value)可以是 字符串(String), 哈希(Map), 列表(list), 集合(sets) 和 有序集合(sorted sets)等类型。
2、为什么选择Redis
- 效率高,数据保存在内存中。
- 支持多种数据结构,可以设置失效时间。
- 内存数据能够保存在磁盘中,重启可恢复。
- 轻量级的订阅发布。
- 支持队列。
- 支持事物。
3、Redis采用单进程单线程
- 优势
- 不用去考虑各种锁的问题。
- 不存在多线程切换而消耗CPU。
- 劣势
- 无法发挥多核CPU性能,不过可以通过在单机开多个Redis实例来完善。
- 其它
- 多进程单线程模型:Nginx
- 单进程多线程模型:Memcached
4、Redis快的主要原因
- 完全基于内存
- 数据结构简单,对数据操作也简单
- 使用多路 I/O 复用模型
5、Redis使用场景
- 分布式锁。
- 缓存。
- 订阅发布。
- 队列。
- 其它基于原子性操作的场景等。