程序员历小冰_社区达人页

个人头像照片
程序员历小冰
已加入开发者社区1786
勋章 更多
个人头像照片
MVP_Star
MVP_Star
个人头像照片
开发者认证勋章
开发者认证勋章
个人头像照片
初入江湖
初入江湖
成就
已发布76篇文章
6条评论
已回答4个问题
0条评论
已发布0个视频
github地址
技术能力
兴趣领域
  • Java
  • Linux
  • 数据库
擅长领域
技术认证

暂时未有相关云产品技术能力~

暂无个人介绍
暂无精选文章
暂无更多信息
暂无更多信息
  • 发表了文章 2021-04-19

    ElasticSearch 如何使用 TDigest 算法计算亿级数据的百分位数?

  • 发表了文章 2021-04-12

    ElasticSearch 如何使用 ik 进行中文分词?

  • 发表了文章 2021-03-08

    线上MySQL读写分离,出现写完读不到问题如何解决

  • 发表了文章 2021-02-20

    为什么ElasticSearch比MySQL更适合全文索引

  • 发表了文章 2020-12-03

    一万字详解 Redis Cluster Gossip 协议

  • 发表了文章 2020-11-11

    MySQL 的 join 功能弱爆了?

  • 发表了文章 2020-10-19

    MySQL死锁系列-线上死锁问题排查思路

  • 发表了文章 2020-08-31

    MySQL复杂where条件分析

  • 发表了文章 2020-08-03

    100% 展示 MySQL 语句执行的神器-Optimizer Trace

  • 发表了文章 2020-06-15

    用 Explain 命令分析 MySQL 的 SQL 执行

  • 发表了文章 2020-05-28

    MySQL死锁系列-常见加锁场景分析

  • 发表了文章 2020-05-11

    带你100% 地了解 Redis 6.0 的客户端缓存

  • 发表了文章 2020-04-14

    Java 数据持久化系列之 HikariCP (一)

  • 发表了文章 2020-04-01

    MySQL的死锁系列- 锁的类型以及加锁原理

  • 发表了文章 2020-02-03

    Java 数据持久化系列之池化技术

  • 发表了文章 2019-12-14

    Redis 命令执行过程(下)

  • 发表了文章 2019-12-11

    Redis 命令执行过程(上)

  • 发表了文章 2019-11-12

    当 Redis 发生高延迟时,到底发生了什么

  • 发表了文章 2019-11-02

    公理设计-由奇怪海战引发的软件设计思考

  • 发表了文章 2019-10-28

    详解 Redis 内存管理机制和实现

正在加载, 请稍后...
滑动查看更多
  • 回答了问题 2020-08-11

    mysql innodb的辅助索引如何存储重复的列值?在查询上有什么不一样吗?#云原生后端

    InnoDB 辅助索引的结构如下所示,可以很清晰的看出,通过辅助索引只能查出对应的主键索引值,需要再根据主键索引去查询出相应的数据行。 1597119546540.jpg

    踩0 评论0
  • 回答了问题 2020-08-07

    请问以下canal能不能监控到MySQL视图的变化

    canal是基于MySQL binlog 进行增量订阅和消费的组件,而MySQL视图基于基于具体的表,自身没有binlog,所以canal无法直接监控MySQL视图。但是它可以监控视图背后的表,这样应该也能达成想要的效果。

    踩0 评论0
  • 回答了问题 2020-08-05

    数据库的乐观锁和悲观锁是什么?怎么实现的?

    一、乐观锁

    乐观锁不是数据库自带的,需要我们自己去实现。乐观锁是指操作数据库时(更新操作),想法很乐观,认为这次的操作不会导致冲突,在操作数据时,并不进行任何其他的特殊处理(也就是不加锁),而在进行更新后,再去判断是否有冲突了。

    通常实现是这样的:在表中的数据进行操作时(更新),先给数据表加一个版本(version)字段,每操作一次,将那条记录的版本号加1。也就是先查询出那条记录,获取出version字段,如果要对那条记录进行操作(更新),则先判断此刻version的值是否与刚刚查询出来时的version的值相等,如果相等,则说明这段期间,没有其他程序对其进行操作,则可以执行更新,将version字段的值加1;如果更新时发现此刻的version值与刚刚获取出来的version的值不相等,则说明这段期间已经有其他程序对其进行操作了,则不进行更新操作。比如下面的sql 语句就使用了乐观锁思想。

    update t1 set status=2, version=version+1 where id=#{id} and version=#{version};
    

    悲观锁

    悲观锁就是在操作数据时,认为此操作会出现数据冲突,所以在进行每次操作时都要通过获取锁才能进行对相同数据的操作,这点跟java中的synchronized很相似,所以悲观锁需要耗费较多的时间。另外与乐观锁相对应的,悲观锁是由数据库自己实现了的,要用的时候,我们直接调用数据库的相关语句就可以了。 具体的悲观锁实现,可以了解一下 InnoDB 的行锁之类的知识。

    踩0 评论0
  • 回答了问题 2020-08-04

    在k8s上部署,为什么还需要eureka呢,k8s的service就提供注册发现和负载均衡的#K8S

    如果你已经使用了 Spring Cloud 全家桶,就需要使用注入 eureka或者consul等额外的服务注册和发现中心;如果还没有,则可以使用service,后续调研isitio。两者都是无侵入的 不需要改应用代码。

    踩0 评论0
正在加载, 请稍后...
滑动查看更多
正在加载, 请稍后...
暂无更多信息