什么是Redis?

1. Redis概述
  • 定义:Redis(Remote Dictionary Server)是一个高性能的远程字典服务,支持多种数据类型和缓存淘汰策略,并提供持久化能力。

  • 架构:最初作为远程缓存服务,通过优化和扩展,发展成为一个强大的缓存服务。

2. 性能提升
  • 本地缓存:将数据存储在内存中,减少磁盘I/O,提高查询性能。

  • 远程缓存:多个服务实例共享一份缓存数据,避免内存浪费,并通过集中处理读写命令解决并发问题。

3. 数据类型与内存管理
  • 支持的数据类型:除了字符串,还支持列表(list)、集合(set)、有序集合(zset)等。

  • 内存过期策略:通过设置过期时间自动删除数据,控制内存使用。

  • 缓存淘汰:在内存接近上限时,根据策略(如LRU)删除数据,保持服务高效运行。

4. 持久化
  • RDB(快照持久化):定期将内存数据全量保存到磁盘文件,类似于游戏存档。

  • AOF(追加文件持久化):每次写入操作时记录到文件缓存,并定期刷入磁盘,保证数据持久化。

5. 网络协议
  • 自定义协议:基于TCP的简单协议,通过发送如set key valueget key的命令进行数据读写。
6. 高级功能
  • 插件扩展:如RedisJSON、RediSearch、RedisGraph等,提供JSON查询、全文搜索、图数据库等功能。

  • 内存版本:提供内存版本的MongoDB、Elasticsearch、Neo4j、InfluxDB等数据库功能。

7. 扩展性与高可用
  • 主从哨兵和集群模式:解决Redis的高可用和高扩展性问题,将在后续内容中讨论。
8. 总结

Redis是一个高性能的内存数据库,通过多种数据类型、缓存策略、持久化机制和网络协议优化,成为架构中提速的利器。其高级功能和插件扩展使其在多种场景下都能发挥重要作用。对于高可用和高扩展性的需求,Redis提供了主从哨兵和集群模式作为解决方案。

注:

1. 可参考b站up主的动画更好的理解:redis是什么?架构是怎么样的?怎么设计redis?_哔哩哔哩_bilibili
2. 具体教程如下:Redis 教程 | 菜鸟教程

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

纸鸢666

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值