外观
什么是 Redis
Redis
是 Remote Dictionary Server
(远程字典服务)的简称,是一个开源的、高性能的键值存储数据库,通常被用作数据库、缓存系统或消息代理。
特点
丰富的数据结构:支持多种数据结构,包括字符串、列表、集合、有序集合、哈希表、位图等。
高速读写:采用内存存储、优化的数据结构、单线程模型、异步操作等技术手段,能够快速高效地存储和访问数据,处理大量的并发请求,读写速度可达每秒几十万次。
持久化存储:支持多种持久化存储方式,例如
RDB
(Redis Database
)和AOF
(Append Only File
)等。RDB
是将内存中的数据定期写入磁盘,AOF
是将每条写命令追加到一个日志文件中,可保证数据的持久性和可靠性。集群模式:支持分布式集群模式,可以水平扩展,从而支持更高的并发和更大的数据存储。
高可用性:提供主从复制、哨兵系统(
Sentinel
) 和 集群(Cluster
) 等技术,可以实现高可用性和水平扩展。事务支持:所有操作都是原子性的,还支持对多个操作合并后的原子性执行,保证了数据的一致性。
应用场景
- 缓存:作为缓存层,大大提高数据访问的速度和响应时间,减轻数据库压力。
- 计数器:利用其原子操作和高并发性能,实现网站访问量、点赞数、评论数等数据的计数。
- 消息队列:支持发布 / 订阅机制和列表操作,可实现简单的消息队列功能,用于处理后台任务和异步消息传递。
- 分布式锁:可以用于在分布式系统中实现分布式锁,保证在同一时间只有一个客户端能够获取锁,从而实现对共享资源的互斥访问。
- 会话管理:在
Web
应用中存储用户会话信息,如用户登录状态、购物车等,提高系统的性能和可扩展性。