摘要: 缓存 缓存是最常见的的应用类型,因为同等配置下,如果一台MySQL能支持上千的QPS,那么一台redis支持的QPS能达到上万,十倍于MySQL。客户端将热点数据存储在redis中,优先从redis读取数据,可以减轻数据库的访问压力。 但将redis作为缓存,也存在一些问题,例如数据不一致。 数据不 阅读全文
posted @ 2024-04-30 23:50 cd_along 阅读(7) 评论(0) 推荐(0) 编辑
摘要: 问题 使用lettuce作为redis连接池,在访问redis时,偶尔会抛出RedisCommandTimeoutException,但隔一会儿又好了。 为什么lettuce有自动重连机制,却还是会出现连接超时的问题?为什么lettuce在连接断掉后,没有立即重连,而是需要等待十多分钟才重新连接? 阅读全文
posted @ 2024-04-30 23:40 cd_along 阅读(53) 评论(0) 推荐(0) 编辑
摘要: redis sentinel搭建之后,在spring-boot项目中集成。 配置 在pom.xml文件中添加如下依赖配置(这里spring-boot版本2.2.5),这个版本中,默认使用lettuce作为redis连接池。 <dependency> <groupId>org.springframew 阅读全文
posted @ 2024-04-30 23:24 cd_along 阅读(15) 评论(0) 推荐(0) 编辑
摘要: 搭建集群 架构规划为一个主库节点,一个从库节点,三个哨兵节点,其中主从库节点内存配置需保持一致,哨兵节点对配置要求较低,可配置在主从节点上。 搭建主库 主从库节点内存配置需保持一致,主从库连接密码保持一致。主库不进行任何持久化配置,交给从库完成。 编写配置文件 需要注意的是,主库中部分配置也需要和从 阅读全文
posted @ 2024-04-30 23:23 cd_along 阅读(3) 评论(0) 推荐(0) 编辑
摘要: 在redis实例宕机后,通过AOF和RDB可以恢复数据,这是高可用的一部分。但是在宕机期间,如何持续提供服务呢?这是高可用的另一部分。redis的方案是主从库模式,在主库宕机后,由从库提供服务。 主从架构 遵从单线程处理原则,从库只接受读请求,写请求都在主库执行,主库执行后再同步到从库中去。在这种模 阅读全文
posted @ 2024-04-30 23:21 cd_along 阅读(6) 评论(0) 推荐(0) 编辑
摘要: Redis服务实例宕机后,其中的数据还能恢复吗? 是的,与其他内存数据库不同(如memcache没有持久化),redis还提供了数据持久化功能,并提供两种持久化方式: AOF(append only file):逻辑文件,记录的是一条一条的更改命令。在进行数据恢复时,需要一条一条的重放日志,恢复速度 阅读全文
posted @ 2024-04-30 23:17 cd_along 阅读(2) 评论(0) 推荐(0) 编辑
摘要: 为什么Redis性能很高,遥遥领先于MySQL? 个人分析有如下原因: IO多路复用 物理结构上来说,它是内存数据库,内存的访问速度比硬盘快几个量级。 机械硬盘的随机访问速度一般为毫秒级,SSD硬盘的随机访问速度一般为微秒级,而内存的随机访问速度一般为纳秒级。 逻辑结构上来说,归功于它的存储结构—— 阅读全文
posted @ 2024-04-30 23:14 cd_along 阅读(3) 评论(0) 推荐(0) 编辑
摘要: ACID模型 ACID模型是一组数据库设计原则, 强调业务数据存储的可靠和关键型应用程序运行的稳定 。InnoDB存储引擎遵循了ACID设计,可以保证数据不会因软件崩溃和硬件故障等异常情况而丢失。其中ACID分别是 A : atomicity 原子性:指一个事务中的所有操作,要么全部完成,要么全部失 阅读全文
posted @ 2024-03-31 21:43 cd_along 阅读(2) 评论(0) 推荐(0) 编辑
摘要: InnoDB 内存结构 内存结构如下图 查看InnoDB运行状态 SHOW ENGINE INNODB STATUS 通过上述命令查看InnoDB运行时的状态信息 Buffer Pool buffer pool是主内存中的一个区域,在其中,InnoDB可以缓存访问到的表和索引数据。通过缓存访问频繁的 阅读全文
posted @ 2024-03-31 21:31 cd_along 阅读(2) 评论(0) 推荐(0) 编辑
摘要: 疑问 常常有如下疑问: 往MySQL中新增的一行数据是怎么存储的? 行溢出是什么? 为什么说varchar字段最大可存储空间为65535字节?正确吗? 行格式 InnoDB中提供了四种行格式,Compact、Redundant、Dynamic和Compressed,最新版本的MySQL5.7中默认使 阅读全文
posted @ 2024-03-31 21:23 cd_along 阅读(5) 评论(0) 推荐(0) 编辑