从0开始回顾Redis---系列一

本文涉及的产品
RDS MySQL DuckDB 分析主实例,集群系列 4核8GB
RDS MySQL DuckDB 分析主实例,基础系列 4核8GB
RDS AI 助手,专业版
简介: 基础1、Redis是什么?简述它的优缺点?Redis是用 C 语言开发的一个开源的高性能键值对(key-value)内存数据库。经常被用来做缓存,消息队列,分布式锁。Redis 提供了多种数据类型来支持不同的业务场景,如 字符串(strings),散列(hashes), 列表(lists), 集合(sets), 有序集合(sorted sets)与范围查询。Redis 还支持事务 、持久化、Lua 脚本、多种集群方案。优点:● 读写性能极高, Redis能读的速度是110000次/s,写的速度是81000次/s。 ● 支持数据持久化,支持AOF和RDB两种持久化方式。 ●

基础

1、Redis是什么?简述它的优缺点?

Redis是用 C 语言开发的一个开源的高性能键值对(key-value)内存数据库。经常被用来做缓存,消息队列,分布式锁。

Redis 提供了多种数据类型来支持不同的业务场景,如 字符串(strings),散列(hashes), 列表(lists), 集合(sets), 有序集合(sorted sets)与范围查询。

Redis 还支持事务 、持久化、Lua 脚本、多种集群方案。

优点

  • 读写性能极高, Redis能读的速度是110000次/s,写的速度是81000次/s。
  • 支持数据持久化,支持AOF和RDB两种持久化方式。
  • 支持事务, Redis的所有操作都是原子性的
  • 丰富的特性 – Redis还支持 publish/subscribe, 通知, key 过期等特性。
  • 支持主从复制,主机会自动将数据同步到从机,可以进行读写分离。
  • 丰富的数据类型 – Redis支持 Strings、Lists、 Hashes、Sets 、Sorted Sets 等数据类型操作。

缺点

  • 数据库容量受到物理内存的限制,不能用作海量数据的高性能读写,因此Redis适合的场景主要局限在较小数据量的高性能操作和运算上。
  • 主机宕机,宕机前有部分数据未能及时同步到从机,切换IP后还会引入数据不一致的问题,降低了系统的可用性。

2、为什么要用 Redis 做缓存?

从高并发上来说

  • 直接操作缓存能够承受的请求是远远大于直接访问数据库的,所以我们可以考虑把数据库中的部分数据转移到缓存中去,这样用户的一部分请求会直接到缓存这里而不用经过数据库。

从高性能上来说

  • 用户第一次访问数据库中的某些数据。  因为是从硬盘上读取的所以这个过程会比较慢。将该用户访问的数据存在缓存中,下一次再访问这些数据的时候就可以直接从缓存中获取了。操作缓存就是直接操作内存,所以速度相当快。如果数据库中的对应数据改变的之后,同步改变缓存中相应的数据。

3、Redis应用场景有哪些?

  1. 缓存热点数据,缓解数据库的压力。
  2. 利用Redis 原子性的自增操作,可以实现计数器的功能,比如统计用户点赞数、用户访问数等。
  3. 简单的消息队列,可以使用Redis自身的发布订阅模式或者List来实现简单的消息队列,实现异步操作。
  4. 限速器,可用于限制某个用户访问某个接口的频率,比如秒杀场景用于防止用户快速点击带来不必要的压力。
  5. 好友关系,利用集合的一些命令,比如交集、并集、差集等,实现共同好友、共同爱好之类的功能。

4、Memcached和Redis的区别?


  1. Redis 只使用单核,而 Memcached 可以使用多核
  2. MemCached 数据结构单一,仅用来缓存数据,而 Redis 支持多种数据类型
  3. MemCached 不支持数据持久化,重启后数据会消失。Redis 支持数据持久化
  4. Redis 提供主从同步机制和 cluster 集群部署能力,能够提供高可用服务。Memcached 没有提供原生的集群模式,需要依靠客户端实现往集群中分片写入数据。
  5. Redis 的速度比 Memcached 快很多。
  6. Redis 使用单线程的多路 IO 复用模型,Memcached使用多线程的非阻塞 IO 模型。


5、MySQL和Redis的区别有哪些?

  1. 数据存储类型:MySQL是关系型数据库,适用于存储结构化数据,如表格,列和关系,而Redis是非关系型数据库,适用于存储键值对数据。
  2. 性能:Redis的读写性能要比MySQL高得多,因为Redis的数据存储在内存中,而MySQL的数据存储在磁盘上,这会导致读写延迟。
  3. 持久化:Redis支持数据持久化,可以将内存中的数据写入磁盘以防止数据丢失。MySQL的数据是默认持久化的。
  4. 事务支持:MySQL支持完整的事务处理功能,包括原子性、一致性、隔离性和持久性。Redis支持简单的事务处理功能,通过MULTI、EXEC、DISCARD和WATCH等命令实现。但是,与MySQL相比,Redis的事务功能较弱,适用于简单的原子操作。
  5. 使用场景:MySQL适用于复杂的数据存储和查询,而Redis适用于高速缓存,数据存储和查询速度要求较高的场景。
相关文章
|
机器学习/深度学习 存储 消息中间件
推荐系统基本概念和架构
阿里巴巴技术专家傲海为大家带来推荐系统基本概念和架构的介绍。内容包括什么是推荐系统和企业级推荐系统架构两部分。
推荐系统基本概念和架构
|
监控 负载均衡 安全
静态IP代理与动态IP代理:提升速度与保障隐私的技术解析
本文探讨了静态IP代理和动态IP代理的特性和应用场景。静态IP代理通过高质量服务提供商、网络设置优化、定期更换IP与负载均衡及性能监控提升网络访问速度;动态IP代理则通过隐藏真实IP、增强安全性、绕过封锁和提供独立IP保障用户隐私。结合实际案例与代码示例,展示了两者在不同场景下的优势,帮助用户根据需求选择合适的代理服务以实现高效、安全的网络访问。
511 1
|
人工智能 JSON 网络协议
音乐人狂喜!AbletonMCP:让AI帮你写歌,一句话生成专业编曲,Demo级作品秒出
AbletonMCP 是一个开源项目,通过模型上下文协议(MCP)将 Ableton Live 与 Claude AI 连接,实现 AI 辅助音乐制作,支持创建、修改 MIDI 和音频轨道等操作。
994 10
音乐人狂喜!AbletonMCP:让AI帮你写歌,一句话生成专业编曲,Demo级作品秒出
|
机器学习/深度学习 人工智能 自然语言处理
很火的DeepSeek到底是什么
DeepSeek,全称杭州深度求索人工智能基础技术研究有限公司,成立于2023年。因推出开源 AI 模型 DeepSeek-R1 而引起了广泛关注。与ChatGPT相比,大幅降低了推理模型的成本。
4727 36
|
JavaScript 应用服务中间件 API
Node.js搭建REST API实战:从基础到部署
【7月更文挑战第18天】通过以上步骤,你可以将你的Node.js REST API从开发环境顺利迁移到生产环境,并利用各种工具和技术来确保应用的稳定性、安全性和可扩展性。
|
新零售 人工智能 自然语言处理
课时18:阿里云新零售+电商解决方案:让生意更容易
阿里云新零售+电商解决方案助力企业在互联网时代提升消费者体验与用户忠诚度,通过技术创新实现线上线下融合。银泰、贝贝等企业借助阿里云的计算能力、数据整合和智能服务,打造个性化购物体验,应对市场挑战,推动业务高效增长。
437 0
|
Java 关系型数据库 MySQL
基于SpringBoot+Vue中小企业人事管理系统代码(源码+部署说明+演示视频+源码介绍)(1)
基于SpringBoot+Vue中小企业人事管理系统代码(源码+部署说明+演示视频+源码介绍)
427 0
|
搜索推荐 小程序 前端开发
微信小程序|美食推荐系统的设计与实现
微信小程序|美食推荐系统的设计与实现
387 0
|
SQL 安全
CTF--Web安全--SQL注入之‘绕过方法’
CTF--Web安全--SQL注入之‘绕过方法’
1841 0

热门文章

最新文章