初识Redis简介
Redis(REmote Dictionary Server)是一种基于键值对的NoSQL数据库,主要有string/hash/list/set/zset 5种基本数据结构,字符串演变出bitmaps位图和HyperLogLog,3.2版本之后支持了GEO(地理信息定位)用于LBS(Location Based Service 基于位置服务)场景。
特性
- 速度快,原因:
- 所有数据存在内存
- C语言实现,更接近操作系统
- 单线程,避免多线程竞争
- 作者的精细打磨,性能与优雅并存
- 基于键值对的数据结构服务器
- 功能丰富
- 过期功能,可用于实现缓存
- 发布订阅,用于消息系统
- 支持Lua脚本,自定义命令
- 事务支持
- 流水线,批量传递命令
- 简单稳定,源码少、单线程、不依赖操作系统类库
- 客户端语言多
- 持久化,RDB和AOF两种策略,将内存的数据持久化到磁盘
- 主从复制
- 高可用和分布式,3.0版本发布了Redis Cluster
使用场景
- 缓存
- 排行榜
- 计数器
- 社交网络
- 消息队列