- 博客(11)
- 收藏
- 关注
原创 Kafka的一些问题
2、为了消息的幂等,我们也可以设置唯一主键来进行区分,或者是加锁,数据库的锁,或者是redis分布式锁,都能解决幂等的问题。·复制机制中的ISR:ISR的意思是in-sync replica,就是需要同步复制保存的follower其中分区副本有很多的follower,分为了两类,一个是ISR,与leader副本同步保存数据,另外一个普通的副本,是异步同步数据,当leader挂掉之后,会优先从ISR副本列表中选取一个作为leader,因为ISR是同步保存数据,数据更加的完整,所以优先选择ISR副本列表。
2024-08-29 18:10:22 326
原创 RabbitMQ的一些问题
消息超时未消费就会变成死信,在RabbitMQ中如果消息成为死信,队列可以绑定一个死信交换机,在死信交换机上可以绑定其他队列,在我们发消息的时候可以按照需求指定TTL的时间,这样就实现了延迟队列的功能了。2、是开启持久化功能,确保消息未消费前在队列中不会丢失,其中的交换机、队列、和消息都要做持久化。3、开启消费者确认机制为auto,由spring确认消息处理成功后完成ack,当然也需要设置一定的重试次数,我们当时设置了3次,如果重试3次还没有收到消息,就将失败后的消息投递到异常交换机,交由人工处理。
2024-08-29 14:19:49 280
原创 Hashmap数组问题及put方法
2、以hash索引数组的长度-1与key的hash值进行与运算,得出在数组中的索引,如果索引指定的位置为空,则代表可以插入,直接插入一个新的node。4、如果key不存在,则判断当前节点是否为树类型,是树,则按照树的操作去追加。3.threshold:扩容的阈值,等于 当前容量乘负载因子(capacity*loadFactor),在 Java8 中,当链表中的元素超过了 8个以后,会将链表转换为红黑树,不变红黑树时间复杂度为 O(n),变红黑树降低时间复杂度为 O(logN)
2024-08-29 14:19:02 141
原创 SQL的问题及优化
如果一条sql执行很慢的话,通常会使用mysql自动的执行计划explain来去查看这条sql的执行情况,可以通过key和key_len检查是否命中了索引,若本身已经添加了索引,判断索引是否有失效,2、可以通过type字段查看sql是否有进一步的优化空间,是否存在全索引扫描或全盘扫描,3、可以通过extra建议来判断,是否出现了回表的情况,如果出现了,可以尝试添加索引或修改返回字段来修复。·索引创建原则有哪些?如果某一个字段的内容较长,考虑使用前缀索引,索引的数量要控制,添加索引会导致新增改的速度变慢。
2024-08-29 14:14:55 480
原创 redis 的一些问题,缓存问题及解决,布隆过滤器等
当然是有缺点的,布隆过滤器有可能会产生一定的误判,我们一般可以设置这个误判率,大概不会超过5%,其实这个误判是必然存在的,要不就得增加数组的长度,其实已经算是很划分了,5%以内的误判率一般的项目也能接受,不至于高并发下压倒数据库。用redisson实现的读写锁,在读的时候添加共享锁,可以保证读读不互斥,读写互斥。:延迟双删,如果是写操作,我们先把缓存中的数据删除,然后更新数据库,最后再延时删除缓存中的数据,其中这个延时多久不太好确定,在延时的过程中可能会出现脏数据,并不能保证强一致性,所以没有采用它。
2024-08-29 14:14:14 316
原创 springBoot的自动装配
... starter是定义一个starter的jar包,写一个@Configuration配置类、将这些bean定义在里面,然后在starter包的META-INF/spring.factories中写入该配置类,springboot会按照约定来加载该配置类开发人员只需要将相应的starter包依赖进应用,进行相应的属性配置,就可以直接进行代码开发,使用对应的功能了,比如mybatis-spring-boot--starter,springboot-starter-redis。
2024-08-29 14:12:41 132
原创 SpringBoot+MongoDB查询大数据字段优化
记录一下SpringBoot+MongoDB查询大数据字段,查询的单个字段或者总查询结果量太大用 mongoTemplate.find(query, NewSnapshot.class, collectionName); 查询比较慢刚开始是这样查询的public List<xxx> sss(String a,String b,String c) { Query query = new Query(Criteria.where("a").is(a).and("b").i
2022-05-09 15:39:30 2549
原创 FUNCTION xx.count does not exist. Check the ‘Function Name Parsing and Resolution‘ section in the Re
今天项目查询总个数时报错FUNCTION wx.count does not exist. Check the 'Function Name Parsing and Resolution' section in the Reference Manual最后发现是xml里sql语句,count(id)中间多了个空格去掉空格就好了。
2021-12-24 14:48:55 1218
原创 只做预览页面时,禁止鼠标点击事件
元素永远不会成为鼠标事件的target。但是,当其后代元素的pointer-events属性指定其他值时,鼠标事件可以指向后代元素,在这种情况下,鼠标事件将在捕获或冒泡阶段触发父元素的事件侦听器。pointer-events: none;div里加此属性,鼠标就不能选中页面上的内容啦,pointer-eventsCSS 属性是:指定在什么情况下 (如果有) 某个特定的图形元素可以成为鼠标事件的target。 属性还有很多,可以针对特定事件来用。/* Keyw...
2021-12-23 09:19:57 289
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人