- 博客(117)
- 收藏
- 关注
原创 docker
docker start :启动一个或多个已经被停止的容器。除了使用容器名,docker start/stop/restart还可以使用容器ID进行操作。docker run :创建一个新的容器并运行一个命令,是将镜像放入容器并启动容器。-t: 为容器重新分配一个伪输入终端,通常与 -i 同时使用;-p: 指定端口映射,格式为:主机(宿主)端口:容器端口;-i: 以交互模式运行容器,通常与 -t 同时使用;-d:运行的镜像名,并返回容器ID;停止运行中的容器mysql-test。-e: 设置环境变量;
2023-01-16 16:17:26
523
原创 Redis
要求缓存中的数据必须与DB中的数据保持一致。只要DB中的数据发生了变更,缓存中的数据立即消失。:其没有必要必须与DB中的数据保持一致,只要大差不差就行。为缓存数据添加了生存时长属性。Redis(内存数据) 读的速度可以达到11w次/s,写的速度可以达到8w次ls。
2023-01-16 16:10:51
114
原创 Mall 认证服务
一.注册和登录页1.往常:方法跳转@Controllerpublic class LoginController { /** * 发送请求直接跳转到一个页面 */// public String loginPage(){// return "login";// }// @GetMapping("/reg.html")// public String regPage(){// return "reg";// }}2..
2020-09-13 21:47:28
3334
原创 2020-09-11异步编排
<resultMap id="spuAttrGroup" type="com.atguigu.gulimall.product.VO.SpuItemAttrGroupVo"> <result property="groupName" column="attr_group_name"></result> <collection property="attrs" ofType="com.atguigu.gulimall.product.VO.At..
2020-09-11 13:42:43
98
原创 mall第七天search
一检索1.创建一个检索条件的Vo searchParam2.数据迁移POST _reindex{ "source":{ "index":"bank", "type":"account" }, "dest":{ "index":"newbank" }}GET /product/_mapping3.neste
2020-09-11 09:57:46
100
原创 分布式锁使用
启动多个微服务给多个服务器发送命令docker exec -it redis redis-cliset lock 1 nx分布式锁一:容易造成死锁public Map<String, List<Catelog2Vo>> getCatalogJsonwithRedisLock() { //1.抢占分布式锁 Boolean lock = redisTemplate.opsForValue().setIfAbsent(".
2020-09-08 23:51:28
213
原创 Mall第五天
一.elasticsearch:7.4.2docker pull elasticsearch:7.4.2docker pull kibana:7.4.2echo "http.host:0.0.0.0">>/mydata/elasticsearch/config/elasticsearch.yml //都可以访问docker run --name elasticsearch -p 9200:9200 -p 9300:9300 \-e "discovery.type=single
2020-09-07 12:41:58
92
原创 Mall第四天
保存商品:远程保存积分等信息1.商品模块和积分模块需要通信将二者需要的对象存放当common包中TO2.一次启动所有服务:配置占用内存 -Xmx100m3.存储涉及多张表的数据, set session transaction· isolation level read uncommitted 设为未提交已读,方便debug4时间格式 jackson: date-format: yyyy-MM-dd HH:mm:ss...
2020-09-04 10:28:58
101
原创 Mall属性管理第三天
子组件向父组件发送点击事件 //向父组件发送事件; this.$emit("tree-node-click", data, node, component); }级联选择器 :如果递归底层没有数据返回,private Integer productCount; @JsonInclude(JsonInclude.Include.NON_EMPTY) @TableField(exist = false) private List<CategoryEntity
2020-09-03 00:12:59
128
原创 Mall第二天
产品功能一.拖拽功能 1.el-tree中添加draggable 2.allow-drop二.开关按钮:将拖拽设为可以关闭 <el-switch v-model="draggable" active-text="开启拖拽" inactive-text="关闭拖拽"></el-switch> :draggable="draggable"三批量删除 1.给el-tree起名字 ref="menuTree" 2.返回所有节点组成...
2020-08-31 15:43:05
189
原创 谷粒Mall
一.product模块 1.配置config bootstrap.propetiesspring.application.name=gulimall-productspring.cloud.nacos.config.server-addr=127.0.0.1:8848spring.cloud.nacos.config.namespace=productb734b4cb-d519-41ad-8c75-c8427a61ec532.application.yml 注册中心cloud:...
2020-08-27 00:16:51
161
原创 谷粒
1.git 1.1 创建git仓库,添加ignore maven的格式 1.2 idea导入git初始化代码 1.3配置gitignore**/mvnw**/mvnw.cmd**/.mvn**/target/.idea**/.gitignore2.后台系统 2.1 人人开源的项目:https://gitee.com/renrenio/renren-fast 2.3.逆向生成工具:https://gitee.com/renrenio/renren-...
2020-08-26 00:55:21
263
原创 Netty
1.IO 1.1BIO BIO:去上厕所,坑全满,此时我一直光等着,主动观察哪个坑位好了,只要有坑位释放了,我就立马去占坑 1.2NIO NIO :厕所坑全满,此时我跑出去抽烟或者做别的事,然后时不时再主动(自己相当于一个选择器)的去厕所有没有坑释放,如果有坑了自己去占坑 1.3AIO AIO:我在厕所外抽眼玩手机,等有人好了之后来通知我去占坑2.Netty2.1分类2.2channel hand...
2020-08-15 20:44:41
85
原创 Docker
1.安装1.1安装步骤①安装:安装链接②脚本下载:curl -fsSL get.docker.com -o get-docker.shsh get-docker.sh --mirror Aliyunsystemctl daemond-reloadsystemctl restart docker1.2安装镜像源https://cr.console.aliyun.com/cn-hangzhou/instances/mirrorsvim /etc/docker...
2020-08-09 22:29:09
254
原创 Clone
1.clone的由来创建一个对象的一个副本--按照原对象,创建一个新的对象,复制对象的内容。1.1new对象和反射创建对象的弊端1.2使用clone方法创建对象 1.在需要调用clone方法的对象上添加实现Cloneable接口 2.复写clone方法,在自己的clone方法中调用父类的clone方法,将返回值类型强转成本类类型,将当前clone方法的修饰符改为public 3.在测试中调用对象的clone方法 通过使用clone方法,我们发现大大的...
2020-08-08 22:07:53
102
原创 Hystrix
一.pom依赖<dependencies> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId> </dependency> .
2020-08-08 17:29:19
97
原创 2020-08-06
Cookie implements Cloneable, Serializable1登录后生成token信息,以及得到用户的相关信息,2.将token信息存储到Cookie中,将用户信息存储到redis中3.HttpServletResponse中添加 cookie信息登出:request:当前用户的Current HttpServletRequest1.删除redis中的信息2.删除Cookie中的token(request, response, token)Cookie cookie.
2020-08-06 13:02:26
98
原创 实战CPU过高问题定位
一.top+jstack1.top(十进制)2.另起一个窗口 执行 top -Hp 36032命令下面的信息是该线程号里面所有的线程3.执行 printf %x36044命令,转换为16进制(占用内存最高的线程)4.执行 jstack36032 >1.txt (十六进制)5. cat 1.txt |grep -A 30 8ccc: 查看8ccc这个进程,并向后再看30行二.可能导致CPU占用率过高的场景与解决方案-1无限while循环:尽量无...
2020-08-04 21:35:46
219
原创 社区项目-redis
目录一、redis二、使用步骤(RedisTemplate)1.引入库2.配置RedisConfig三、项目:Ⅰ 点赞统计Setredis key的生成工具类点赞和收到的总赞逻辑(两次不同的redis操作,开启事务)Ⅱ关注,取消统计:ZSet(有序集合)Ⅲ优化登录模块 验证码一、redis RedisTemplate和StringRedisTemplate的区别 当你的redis数据库里面本来存的是字符串数据或者你要存取的...
2020-08-03 11:40:28
552
原创 Es批量操作
一.批量操作BulkRequest :对es数据进行批量更新操作 BulkRequest bulkRequest = new BulkRequest(); //BulkRequestBuilder bulkRequest = client.prepareBulk(); for (SearchHit hit : search.getHits()) { message = JSON.parseObject(hit.getSo
2020-08-03 11:31:17
1221
原创 代码重构
cheatsheet promoterx maven hepler sonarQube1、使用卫语句化嵌套条件修改前:修改后 :圈复杂度减少一层,先判断不合法的,再走合法流程2.消除掉过长参数列表修改前修改后: idea> refactor> Extract>Parameter Object3....
2020-07-30 23:15:39
97
原创 Feign
Feign的demojar包 <dependencies> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId> </dependency>
2020-07-30 22:02:14
103
原创 test
<if test=" msg != ''&&msg !=null ">POST zhsxfdevice/data/_search{ "size":0, "aggs": { "group_info": { "terms": { "field": "customerId" }, "aggs": { "yiji": { "sum": { "field"..
2020-07-29 17:51:47
108
原创 负载均衡
编写demoJar包引入 <packaging>jar</packaging> <name>ribbon-consumer</name> <dependencies> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>sp.
2020-07-26 21:52:14
94
原创 Eureka服务-提供-消费
在父类pom文件中指定版本依赖<dependencyManagement> <dependencyManagement> <dependencies> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud.
2020-07-25 15:00:16
125
原创 Netty
1.什么应用场景下选择RPC、HTTP、MQ与Netty?RPC:系统间即时访问、同步服务调用HTTP :外部接口API提供、非高并发场景、非大数据报文传输MQ :微服务之间解耦,流量削峰Netty:底层基础通信、数据传输、数据同步2.Netty技术选型与核心浅析Netty的基础核心点EventLoop、Reactor 模型 Pipeline事件传播 Netty的ChannelHandler Netty的Buffer 3.Netty TCP拆包粘包问题的处理原因...
2020-07-22 21:27:45
94
原创 SELECT @@IDENTITY as id
SelectKey在Mybatis中是为了解决Insert数据时不支持主键自动生成的问题,他可以很随意的设置生成主键的方式。使用mybatis的selectKey就可以得到sequence的值,同时也会将值返回。不过对于不同的数据库有不同的操作方式。<selectKey order="AFTER" keyProperty="id" resultType="java.lang.Long"> SELECT @@IDENTITY as id </selectKey>属性 .
2020-07-20 14:42:53
1491
原创 elastic基础
一.安装软件安装二.启动http://192.168.35.111:9200/{ "name" : "es-node1", "cluster_name" : "imooc-elasticsearch1", "cluster_uuid" : "61a719AaQaSXVe1WvYRr9Q", "version" : { "number" : "7.4.2", "build_flavor" : "default", "build_type" : "t.
2020-07-19 14:14:19
204
原创 关闭防火墙
下面是red hat/CentOs7关闭防火墙的命令!1:查看防火状态systemctl status firewalldservice iptablesstatus2:暂时关闭防火墙systemctl stop firewalldservice iptablesstop3:永久关闭防火墙systemctl disable firewalldchkconfig iptables off4:重启防火墙systemctl enable firewallds...
2020-07-19 11:15:18
129
原创 分布式事务
一.atomikos分布式事务XA协议XA是由X/Open组织提出的分布式事务的规范 由一个事务管理器(TM)和多个资源管理器(RM)组成 提交分为两个阶段: prepare和commit XA协议的两阶段提交第一阶段第二阶段保证数据的强一致性commit阶段出现问题,事务出现不一致,需人工处理效率低下,性能与本地事务相差10倍Demo1.依赖 <dependency> <groupId>org....
2020-07-05 17:55:24
104
原创 分布式系统中的CAP原理
分布式系统中的CAP原理简介在分布式系统中,我们经常听到CAP原理这个词,它是什么意思呢?其实和C、A、P这3个字母有关,C、A、P分别是这3个词的首字母。下面我们就看一下这3个词分别是什么意思?C - Consistent ,一致性。具体是指,操作成功以后,所有的节点,在同一时间,看到的数据都是完全一致的。所以,一致性,说的就是数据一致性。 A - Availability ,可用性。指服务一致可用,在规定的时间内完成响应。 P - Partition tolerance ,分区容错性。指
2020-07-05 16:27:28
243
原创 接口幂等性
定义幂等性: f(f(x)) = f(x)幂等元素运行多次,还等于它原来的运算结果在系统中,一个接口运行多次,与运行一次的效果是一致的适合场景重复提交、接口重试、前端操作抖动等 业务场景:用户多次点击提交订单,后台应只生成一个订单 业务场景:支付时,由于网络问题重发,应该只扣一次钱 并不是所有的接口都要求幂等性,要根据业务而定 核心思想通过唯一 的业务单号保证幂等 非并发情况下,查询业务单号有没有操作过,没有则执行操作 并发的情况下,整个操作过程加锁 Select操作..
2020-07-02 00:45:22
315
原创 Logstatsh数据同步
LogstashLogstash是elastic技术栈中的一个技术。它是一个数据采集引擎,可以从数据库采集数据到es中。我们可以通过设置自增id主键或者时间来控制数据的自动同步,这个id或者时间就是用于给logstash进行识别的id:假设现在有1000条数据,Logstatsh识别后会进行一次同步,同步完会记录这个id为1000,以后数据库新增数据,那么id会一直累加,Logstatsh会有定时任务,发现有id大于1000了,则增量加入到es中 时间:同理,一开始同步1000条数据,每条数据都有
2020-06-30 17:39:24
392
原创 搭建Elasticsearch集群
前置操作当克隆以后,es中的data目录,一定要清空,这里面包含了原先的索引库数据。配置集群修改elasticsearch.yml这个配置文件如下:# 配置集群名称,保证每个节点的名称相同,如此就能都处于一个集群之内了cluster.name: imooc-es-cluster# 每一个节点的名称,必须不一样node.name: es-node1# http端口(使用默认即可)http.port: 9200# 主节点,作用主要是用于来管理整个集群,负责创建或删除索引,管理
2020-06-30 17:24:21
146
原创 全局表-子表
全局表如果数据量不大,就没必要进行分库,可以同步到所有的库<table name="province" dataNode="dn101,dn102" type="global"/>子表
2020-06-29 18:19:55
181
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人