- 博客(17)
- 收藏
- 关注
原创 redis的数据结构,内存处理,缓存问题
redis任意数据的key和value都会被封装为一个RedisObject,也叫redis对象:这就redis的头信息,占有16个字节。
2024-09-30 20:53:08
1519
2
原创 Redis集群的两种方式
Redis分片集群如何判断某个key应该在哪个实例?将16384个插槽分配到不同的实例根据key计算哈希值,对16384取余余数作为插槽,寻找插槽所在实例即可如何将同一类数据固定的保存在同一个Redis实例?Redis计算key的插槽值时会判断key中是否包含。
2024-09-28 14:48:12
512
原创 Elasticsearch分布式搜索引擎入门
Elasticsearch结合kibana,Logstash,Beats,是一整套技术栈,被叫做ELK。被广泛应用于在日志数据分析,实时监控等领域。Elasticsearch对海量数据的搜索时非常快的,远远快于传统的关系型数据库,为什么呢?这取决于它底层采用了一个特殊的索引:倒排索引传统的关系型数据库通常会给主键值一个聚簇索引(以MySQL为例),真实数据在聚簇索引的叶子节点上,如果通过主键值来做查询,那速度会非常的快。但是模糊查询就不行了,只能全表扫描。
2024-09-26 21:13:37
1665
原创 RabbitMQ——消息的可靠性处理
如果对于业务性能有要求,建议禁用重试机制。如果网络问题出现故障,有可能出现把一个业务做了多次,比如扣减库存,总不能扣减两次吧,于是可以采取对每一个消息指定一个消息id,id值唯一,然后执行完这个消息后,把这个消息id存到数据库里,然后每次执行消息的时候,可以去数据库查一下有没有这个消息,如果有,就代表这个消息之前执行过了,于是就不对这个消息做处理。消息的发布有三个角色,发布者,MQ,消费者,在发消息的时候需要和MQ进行连接,这个连接时一个网络连接,如果因为网络问题,消息发送失败,可能会导致数据不一致产生。
2024-09-24 23:19:30
2755
原创 RabbitMQ是什么?RabbitMQ简介
假如我们有一个支付服务,支付服务的业务逻辑是:首先支付扣减余额,更新支付单状态,更新订单状态,发短信,给这个用户增加积分。在这个场景下,如果我们使用同步调用通信,那么调用支付这个接口是不是得等到给这个用户增加积分的业务执行完后,这个调用链条依次返回到支付接口时,支付接口的业务才算完成,可见这个情况明显很不合理。
2024-09-22 22:57:42
2216
1
原创 Seata简介
然后去项目中的bootstrap.yaml文件中引入shared-seata.yaml共享配置。第一,首先在每一个微服务项目中准备一个undo-log表,就是seata-at.sql。b. 如果有失败,通知所有RM回滚事务。a. 如果都成功,通知所有RM提交。非常简单,第一步,在application.yaml中。第二,application.yaml中。第二步:给发起全局事务的入口方法添加。注解,再给远程调用的方法上加上。Java中如何实现?
2024-09-20 22:54:12
593
原创 微服务之服务保护
四:然后访问,localhost:8090 账号密码刚开始默认是sentinel。二:安装好后在sentinel-dashboard.jar所在目录运行终端。六:配置application.yaml。三:运行命令,端口自己指定。一:安装Sentinel。
2024-09-19 21:55:11
441
原创 微服务之网关
GatewayFilter:路由过滤器,作用于任意指定的路由;默认不生效。要配置路由后才生效。就是刚才33种过滤器。GlobalFilter:全局过滤器,作用范围是所有路由;声明后自动生效。ServerWebExchange exchange :是请求上下文,包含整个过滤器链内共享数据,例如request,response等GatewayFilterChain chain:过滤器链。当前过滤器执行完后,要调用过滤器链中下一个过滤器。
2024-09-18 22:49:11
1629
原创 为什么修改虚拟机的ip为静态后,nacos就报错了
我修改了静态ip后,重启了网卡服务,但是直接就登不上nacos的客户端了,而且微服务项目启动也全部报错,每个微服务的nacos配置肯定是正确的,然后我重启了虚拟机和idea又好了,有没有大佬知道这是怎么回事?下面是nacos的日志输出。
2024-09-18 16:53:33
354
原创 服务治理---注册中心,配置管理,openfeign
在微服务拆分的理念中,我们必须遵循每个服务尽量的完全独立,类独立,接口独立,方法独立,不依赖别的服务,这样就最大程度的耦合性降低。但随之而来的却是一系列问题,像我们一个接口可能就会调用别的服务的接口,这样就会逻辑上的跨越主机。
2024-09-16 19:13:16
2725
原创 Java之远程调用RestTemlate
1.首先在配置类中,把RestTemlate放在ioc容器中。2.调用exchange方法,这个方法更加全面。RestTemplete怎么用。
2024-09-15 10:46:08
448
原创 Error evaluating expression ‘ew.sqlSegment != null and ew.sqlSegment != ‘‘ and ew.nonEmptyOfWhere‘异常
3.4.x返回Integer,3.5.x返回的是Long型,所以这个方法不一定解决问题。1.将mybatis-plus的版本升高到3.5.x,但是两个版本的方法有区别,比如。2.用jdk-11来运行项目,jdk-11与mybatis-plus-3.4.x兼容。原因是mybatis-plus 3.4.3与jdk17不兼容问题。在我运行项目的时候出现了这个异常信息,第一次遇见。
2024-09-12 16:12:36
1135
原创 让你会用MyBatis-Plus---项目中必会的持久层框架
在开发过程中,大多数的单表的增删改查我们都可以用MyBatis-plus来做,但是也有一些特殊的情况,如下一般这种mp的代码,我们都在业务层去写,但是企业规范中是不允许sql语句写道业务层的,违反了开发规范,所以又出现了自定义的sql。基于wrapper构建条件,自己写剩下的sql,然后拼装。// 1.构建条件// 2. 自定义SQL方法调用</update>
2024-09-10 17:51:19
997
原创 如何在SpringBoot中引入MyBatis-Plus
首先我们需要知道MyBatis-Plus是MyBatis的合作伙伴,他们俩彼此配合从而简化开发,而并不是他代替了MyBatis。MyBatis-Plus的maven坐标包括了MyBatis的坐标,所以也不需要再导入MyBatis的坐标了。的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。注意:前提是自己先搭建好SpringBoot工程项目。
2024-09-10 17:43:23
823
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅