GaryLee's Blog
11
30
28
场景题 2023.11.28
排行榜的最佳实践
一、排行榜的最佳实践1、实现方式一般情况下,排行榜可以通过MySQL或者Redis来做实现,但在特定场景下也可以用大数据来做数据支持,那么不同实现方式有什么区别呢?: 排序方式 优点 缺点 适用场景 MySQL order b
2023-11-28
27
MySQL 2023.11.27
如何进行分库分表?会带来什么问题?
一、为什么要进行分库分表?分库分表的目的是为了解决单表过大、单库表过多的问题,具体可参考文章(《如何进行SQL调优?》) 二、什么情况下需要进行分库分表?以下几种情况可以考虑分库分表: 单表数据量达到千万级别(读写性能差) 数据库中内存占
2023-11-27
27
27
22
21
Mybatis 2023.11.21
Mybatis的工作原理是什么?
一、什么是Mybatis?Mybatis是一个持久化框架,可以帮助我们快速做数据库交互开发。 常规的数据库交互开发,我们需要有下面几步: 创建Connection 创建Statement 代码中拼接SQL语句 返回结果集转换 … 而使用
2023-11-21
16
13
Redis 2023.11.13
为什么Lua脚本可以保证原子性?
一、什么是原子性?原子性这个概念在数据库中和在并发编程中是两种不同的概念: 数据库中的原子性:要么都执行,要么都不执行 并发编程中的原子性:操作不可拆分、不被中断 Lua脚本是属于并发编程中的原子性,可以保证原子性,但是不能保证要么都执
2023-11-13
13
Redis 2023.11.13
什么是Redis的数据分片?
一、什么是Redis的数据分片?Redis的数据分片(Sharding)指的是将数据集分为多个子集,分别存储在不同的Redis节点上,提高了Redis集群的性能和扩展性。 二、如何实现Redis的数据分片?Redis的数据分片实现一般是按照
2023-11-13
13
12
JVM 2023.11.12
Java中四种引用有什么区别?
一、Java中四种引用分别是什么?Java中四种引用分别是: 强引用:默认引用,使用后不会被垃圾回收器回收(如果内存不足,则直接报错OOM)。例子代码为String[] arr = new String[]{"a","b"}; 弱引用:如
2023-11-12
1 / 2