- 博客(25)
- 收藏
- 关注
原创 文件上传和下载
使用阿里云OSS实现文件的上传、下载、删除及修改功能_oss下载文件_我代码没错的博客-CSDN博客。Java对象/文件_对象存储 OSS-阿里云帮助中心 (aliyun.com)登录阿里云,搜索OSS对象关系存储,创建Bucket。阿里云中查看文件上传成功。
2023-09-26 15:55:57
248
原创 java面试题
面向对象注重的是完成一个功能的参与者,和参与者各自的功能是什么。面向对象的三大特性:封装:隐藏内部细节并向外部暴露响应的接口,让外界不能修改我的内部逻辑。比如实体类、mybatis都用到了封装的思想。继承:通过extends关键字,子类可以继承父类,拥有父类公开的方法和属性,并且可以开展自己的属性和方法。多态:编译看左边,运行看右边,Diamnal d = new Dog() 左边是父类,右边是子类就是多态。创建集合也是多态,比如List list=new ArrayList()。
2023-09-25 08:40:43
100
原创 java8新特性
终结方法:返回值类型不再是 Stream 类型的方法,不再支持链式调用。本小节中,终结方法包括 count 和forEach 方法。非终结方法:返回值类型仍然是 Stream 类型的方法,支持链式调用(除了终结方法外,其余方法均为非终结方法)。Stream只能操作一次Stream方法返回的是新的流Stream不调用终结方法,中间的操作不会执行。
2023-09-23 11:57:11
83
原创 Spring Boot 集成Redis
java要通过程序访问redis服务器。需要一个中间件或驱动包,初代使用的就是jedis,Jedis Client是Redis官网推荐的一个面向java客户端,库文件实现了对各类API进行封装调用,随着出现一些问题,如线程池不安全等,就出现了lettuce,是一个Redis的java驱动包,是对jedis的优化,之后出现了redisTemplate,使用spring整合了redis,redisTemplate底层包含了lettuce。
2023-09-22 18:33:46
858
原创 Redis集群(cluster)
为了在节点数目发生改变时尽可能少的迁移数据,将所有的存储节点排列在收尾相接的Hash环上,每个key在计算Hash后会顺时针找到临近的存储节点存放。而当有节点加入或退出时仅影响该节点在Hash环上顺时针相邻的后续节点。优点:加入和删除节点只影响哈希环中顺时针方向的相邻的节点,对其他节点无影响。缺点:数据的分布和节点的位置有关,因为这些节点不是均匀的分布在哈希环上的,所以数据在进行存储时达不到均匀分布的效果。
2023-09-21 17:11:53
172
原创 redis哨兵(sentinel)
哨兵巡查监控redis的运行状态,包括主机master和从机slave,如果主机故障了根据投票数自动将一个从机转换成一个新主机。一般是主从复制加哨兵或者直接使用redis集群,redis集群更优。结合以下主从复制的博客:redis主从复制_@YanM的博客-CSDN博客。
2023-09-20 14:10:05
119
1
原创 redis管道
如果同时需要执行大量的命令,那么就要等待上一条命令应答后再执行,这中间不仅仅多了RTT(Round Time Trip),而且还频繁调用系统IO,发送网络请求,同时需要redis调用多次read()和write()系统方法,系统方法会将数据从用户态转移到内核态,这样就会对进程上下文有比较大的影响了,性能不太好。1 客户端向服务端发送命令分四步(发送命令→命令排队→命令执行→返回结果),并监听Socket返回,通常以阻塞模式等待服务端响应。2 服务端处理命令,并将结果返回给客户端。
2023-09-18 16:07:05
25
原创 redis事务
悲观锁(Pessimistic Lock), 顾名思义,就是很悲观,每次去拿数据的时候都认为别人会修改,所以每次在拿数据的时候都会上锁,这样别人想拿这个数据就会block直到它拿到锁。Redis的事务仅仅是保证事务里的操作会被连续独占的执行,redis命令执行是单线程架构,在执行完事务内所有指令前是不可能再去同时执行其他客户端的请求的。Redis的事务不保证原子性,也就是不保证所有指令同时成功或同时失败,只有决定是否开始执行全部指令的能力,没有执行到一半进行回滚的能力。执行:由EXEC命令触发事务。
2023-09-18 15:34:32
25
原创 redis持久化
AOF(Append Only File):以日志的形式来记录每个写操作,将Redis执行过的所有写指令记录下来(读操作不记录),只许追加文件但不可以改写文件,redis启动之初会读取该文件重新构建数据,换言之,redis重启的话就根据日志文件的内容将写指令从前到后执行一次以完成数据的恢复工作。默认情况下,redis是没有开启AOF(append only file)的。开启AOF功能需要设置配置: appendonly yes。AOF保存的是appendonly.aof文件。
2023-09-18 11:53:39
111
原创 linux安装redis
redis-benchmark:性能测试工具,服务启动后运行该命令,看看自己本子性能如何redis-check-aof:修复有问题的AOF文件,rdb和aof后面讲。启动reid服务(/usr/local/bin):redis-server /opt/redis-7.0.0/redis.conf。redis-sentinel: redis集群使用redis-server: Redis服务器启动命令。拷贝一份:cp redis.conf redis.conf.example。连接服务:下面两种方式都可以。
2023-09-14 16:30:17
54
1
原创 索引和sql优化
在MySQL针对于表中主键创建的索引默认自动创建只能 有一个,非空避免一个表中某数据列中的值重复可以有多个快速定位特定数据可以有多个全文索引查找的是文本中的关键词,而不是比较索引中的值可以有多个而在在InnoDB将数据存储与索引放到了一块,索引结构的叶子节点保存了行数据必须有而且只有一个将数据与索引分开存储,索引结构的叶子节点关联的是对应的主键可以存在多个聚集索引选取规则如果存在主键,主键索引就是聚集索引。如果不存在主键,将使用第一个唯一(UNIQUE。
2023-09-14 11:02:39
191
1
原创 sentinel基本使用
资源名:唯一名称,默认请求路径针对来源: Sentinel可以针对调用者进行限流,填写微服务名,默认default(不区分来源)单机阈值QPS∶当调用该api的QPS达到阈值的时候,进行限流(单位时间内,请求接口次数限制)线程数:当调用该api的线程数达到阈值的时候,进行限流(单位时间内,请求并发数限制)是否集群:不需要集群流控模式1、直接(默认): api达到限流条件时,直接限流2、关联:当关联的资源达到阈值时,就限流自己;当与A关联的资源B达到阀值后,就限流A自己;B惹事,A挂了。
2023-09-08 15:22:10
149
1
原创 Linux版nacos集群和持久化配置
Nacos默认有自带嵌入式数据库derby,但是如果做集群模式的话,就不能使用自己的数据库不然每个节点一个数据库,那么数据就不统一了,需要使用外部的mysql。通过SQLyog连接这台虚拟机上的mysql,新建名为nacos_config的数据库,运行SQL语句源文件(路径:"conf/nacos-mysql.sql")。编辑Nacos的启动脚本startup.sh(路径:/nacos111/bin/startup.sh),使它能够接受不同的启动端口,以下两处需要修改。
2023-09-07 18:08:30
229
原创 Nacos服务注册与配置中心学习梳理
为什么叫nacos:前四个字母分别为Naming和Configuration的前两个字母,最后的s为Service。是什么:一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台Nacos: Dynamic Naming and Configuration Service。Nacos就是注册中心+配置中心的组合,Nacos等价于eureka+config+bus。能干啥:替代Eureka做服务注册中心,替代Config做服务配置中心。
2023-09-06 15:32:38
126
1
原创 docker容器数据卷
数据卷简介卷就是目录或文件,存在于一个或多个容器中,由docker挂 载到容器,但不属于联合文件系统,因此能够绕过Union File System提供一些用于持续存储或共享数据的特性;卷的设计目的就是数据的持久化,完全独立于容器的生存周期,因此Docker不会在容器删除时删除其挂载的数据卷。总结:将容器中的数据存储到宿主机磁盘中,以达到数据的备份。
2023-09-06 11:31:20
34
1
原创 镜像的分层概念
Docker中的镜像分层,支持通过扩展现有镜像,创建新的镜像。类似Java继承于一个Base基础类,自己再按需扩展。新镜像是从base镜像一层一层叠加生成的。每安装一个软件,就在现有镜像的基础上增加一层。注:来源于尚硅谷Docker实战教程。
2023-09-06 10:12:58
71
2
原创 jwt使用
基于session和基于jwt的方式的主要区别就是用户的状态保存的位置,session是保存在服务端的,而jwt是保存在客户端的,为分布式系统提供了便利。JWT全称为JSON Web Token,是一种用于身份验证的标准。而Token一般指的是验证/身份标识。因此,可以将JWT看作是Token的一种特定实现。JWT主要是用来做认证的,它由三段信息组成,分别是头部、载荷和签证,三段信息用"."连接起来构成jwt字符串。
2023-09-05 10:44:45
118
原创 linux实用操作
可以通过命令:ifconfig,查看本机的ip地址,如无法使用ifconfig命令,可以安装:yum -y install net-tools。yum命令需要root权限哦,可以su切换到root,或使用sudo提权,yum命令需要联网。在一些IP地址限制中,表示所有IP的意思,如放行规则设置为0.0.0.0,表示允许任意IP访。yum:RPM包软件管理器,用于自动化安装配置Linux软件,并可以自动解决依赖问题。除了内置的服务以外,部分第三方软件安装后也可以以systemctl进行控制。
2023-09-04 15:35:49
35
1
原创 linux常用命令
参数2,Linux路径,表示要移动去的地方,如果目标不存在,则进行改名,确保目标存在。参数,关键字,必填,表示过滤的关键字,建议使用””将关键字包围起来。参数,文件路径,必填,表示要过滤内容的文件路径,可作为管道符的输入。参数必填,表示要创建的文件的路径,相对、绝对、特殊路径符都可以使用。参数必填,表示要查看的文件的路径,相对、绝对、特殊路径符都可以使用。参数必填,表示要查看的文件的路径,相对、绝对、特殊路径符都可以使用。参数,表示被删除的文件或文件夹路径,支持多个,空格隔开。
2023-09-04 15:28:54
33
1
原创 git命令
此时master分支上没有这个内容,需要将aa分支的内容合并到当前分支,以下是没有冲突的情况。每个开发者都是在自己的分支上进行写代码,提交到远程地址也只是提交到自己的分支上。标签保存的是静态内容,一旦打了标签,标签内的内容就不会再更改,标签如同迭代版本。此时就把当前master分支下的所有代码都放到了version1.0。将远程分支aa拉去下来与本地分支master进行合并。此时,代码为红色表示还在工作区。此时在查看远程仓库状态为绿色。如果已经在master分支上。将文件提交到aa分支上。
2023-09-04 15:06:21
28
1
原创 最新版seata的安装与部署以及在项目中集成 seata
找到seata-server.bat,点击启动,路径为:seata->bin->seata-server.bat,成功后可以在nacos控制台服务列表中看到多了一个服务。进入seata目录,找到nacos-config.sh,路径为:script->config-center->nacos->nacos-config.sh。新建数据库seata,然后在解压的seata文件找到script->server->db->mysql.sql,执行这个sql脚本。-h nacos服务IP。-p nacos服务端口。
2023-08-29 10:32:49
2541
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人