redis如何解决key冲突? 1、业务隔离不同的业务使用不同的redis集群,或者协议使用redis的不同db。 为每个业务分配独立的Redis数据库:可以通过Redis的多数据库功能,为每个业务分配独立的数据库,避免不同业务的Key之间的冲突。 例如: 将所有用户相关的操作放在一个数据库中,将所有订单相关的操作放在另一个数据库中。 这种方式可以在代码中通过指定不同的数据库编号来实现。 2、良好的Redis Key的设计 格式 2023-05-07 面试题 #redis #key冲突
group by 查询慢的话,如何优化? 1、说明根据一定的规则,进行分组。 group by可能会慢在哪里?因为它既用到临时表,又默认用到排序。有时候还可能用到磁盘临时表。 如果执行过程中,会发现内存临时表大小到达了上限(控制这个上限的参数就是tmp_table_size),会把内存临时表转成磁盘临时表。 如果数据量很大,很可能这个查询需要的磁盘临时表,就会占用大量的磁盘空间。 2、如何优化group by呢? group by 2023-05-03 服务器 > mysql #mysql
group by 查询慢的话,如何优化? 1、说明根据一定的规则,进行分组。 group by可能会慢在哪里?因为它既用到临时表,又默认用到排序。有时候还可能用到磁盘临时表。 如果执行过程中,会发现内存临时表大小到达了上限(控制这个上限的参数就是tmp_table_size),会把内存临时表转成磁盘临时表。 如果数据量很大,很可能这个查询需要的磁盘临时表,就会占用大量的磁盘空间。 2、如何优化group by呢? group by 2023-05-03 服务器 > mysql #mysql
接口的幂等性如何设计? 一 、 幂等性理解幂等,指执行一次或多次都得到相同的结果。既多次重复执行同一个操作,最终的结果和执行一次相同。 比如说:多次调用一个接口或者方法,调用的结果和单次调用的结果一致;或者接收多次消息中间件消息,进行消息处理,和接收单次消息结果一直。 二、幂等出现情况接口超时重试或多次调用 可能由于网络等原因导致调用失败,而对接口调用添加失败重试的机制导致出现脏数据。 消息重复消费 常用消息中间件,比 2023-05-02 后端 > 高并发 #高并发
日常开发中,你是怎么优化SQL的? 1、考虑分析 分析慢查询日志 使用explain查看执行计划 索引优化 深分页优化 避免全表扫描 避免返回不必要的数据(如select具体字段而不是select*) 使用合适的数据类型(如可以使用int类型的话,就不要设计为varchar) 优化sql结构(如join优化等等) 适当分批量进行 (如批量更新、删除) 定期清理无用的数据 适当分库分表 读写分离 2、深分页优化标签记录法 就是标记 2023-05-02 服务器 > mysql #mysql
日常开发中,你是怎么优化SQL的? 1、考虑分析 分析慢查询日志 使用explain查看执行计划 索引优化 深分页优化 避免全表扫描 避免返回不必要的数据(如select具体字段而不是select*) 使用合适的数据类型(如可以使用int类型的话,就不要设计为varchar) 优化sql结构(如join优化等等) 适当分批量进行 (如批量更新、删除) 定期清理无用的数据 适当分库分表 读写分离 2、深分页优化标签记录法 就是标记 2023-05-02 服务器 > mysql #mysql
1 mysql 中索引类型有哪些,以及对数据库的性能的影响? 索引类型普通索引:允许被索引的数据列包含重复的值唯一索引:可以保证数据记录的唯一性 主键索引:是一种特殊的唯一素引,在一张表中只能定义一个主键索引,主键用于唯一标识一条记录,使用关键字 primary key 来创建 联合索引:索引可以覆盖多个数据列 全文索引:通过建立倒排索引,可以极大的提升检索效率,解决判断字段是否包含的问题,是目前搜索引擎使用的一种关键技术 索引作用索引可以极大地提高数据的查 2023-04-07 面试题 #redis #key冲突
1 MySQL普通索引和唯一索引如何选择? 1 普通索引和唯一索引介绍普通索引可重复,唯一索引和主键一样不能重复。 唯一索引可作为数据的一个合法验证手段,例如手机号、身份证号,规定该字段不得重复,那么就使用唯一索引。 唯一索引的作用跟主键一样,但区别: 一张表里面只能有一个主键,主键不能为空,但唯一索引可以有多个。唯一索引可以有一条记录为null。 2 查询性能分析InnoDB数据按数据页单位读写。即读一条记录时,并非将该一个记录从磁盘读出 2023-04-07 面试题 #mysql索引
如何理解springboot中的starter? 1、starter由来使用 spring + springmvc 框架进行开发的时候,如果需要引入 mybatis 框架,那么需要在 xml 中定义需要的 bean 对象,这个过程很明显是很麻烦的,如果需要引入额外的其他组件,那么也需要进行复杂的配置,因此在 springboot 中引入了 starter 2、starter是什么?Spring Boot的starter是一种依赖包,可以通过一种 2023-04-07 面试题 #redis #key冲突
clickhouse分区卸载和数据清理 1clickhouse-client -m 1select * from system.storage_policies; 获取分区信息 12345678910SELECT partition AS `分区`, sum(rows) AS `总行数`, formatReadableSize(sum(data_uncompressed_bytes)) AS `原始大小`, 2023-04-07 服务器 > clickhouse #clickhouse