自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(12)
  • 收藏
  • 关注

原创 docker部署的nginx使用logrotate进行日志切割

使用docker部署nginx,查看我的上篇文章:docker容器内是没有logrotate服务的,我们可以使用宿主机内的的logrotate.

2024-05-31 09:33:35 715

原创 常用的缓存读写策略

写方法一:先更新数据库,在删除对应的缓存方法二和方法三:都是如果缓存存在,则先更新缓存,之后再去更新数据库。读方法一、方法二、方法三:都是先从缓存中读取,如果存在直接返回,如果不存在,则从数据库读取,刷入缓存中。

2024-05-19 11:51:53 125

原创 在云服务器中,通过docker部署的nginx,如何配置http和https

直接编写配置文件server {# HTTP的默认访问端口80listen 80;# 填写服务器ip 【两种选择选其一】# 有域名选择此条# 没有域名选择此条# 将所有HTTP请求通过rewrite指令重定向到HTTPS。#一层代理时是用户真实ip,二层代理时是第一台nginxip#一层代理时没有值,多层代理里面会存储多个ip值,第一个值就是真实用户ip。

2024-04-15 16:12:06 606 2

原创 Knife4j 3.0.3的使用

如果不导入织入包,访问doc.html的时候会报找不到资源的错误。至此,knife4j的基本使用就介绍完了!

2023-11-16 16:51:52 337

原创 Tcp/IP的三次握手和四次解手

如果客户端每次发过来SYN,服务端都要记住其序号,并新生成自己需要记住的序号,那么服务器就需要挂起非常多的资源,如果有黑客借此不断的发送SYN但不进行下一步,就会让服务器崩溃,这就是典型的DDOS攻击。报文中还有Sequence序号【随机生成】,因为客户端可能会发送多个序号,这时服务器就有依据可以判断哪些是累赘信息。因为在发送http请求和响应的时候序号和确认号被不断递增,所以此处序列号和确认号就用表情来表示了。服务器不保存自己的序号,而是根据服务器的IP地址和端口号等私有信息进行算法的运算得到序号。

2023-10-31 15:39:01 75

原创 docker安装mysql8.0,并挂载数据卷

ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '要修改的密码';把容器跑起来后,去用Navicat去连接,发现可以连上 —— 说明你的端口是开放的,什么防火墙没开啊,阿里云端口没开啊,都是扯蛋!vim /mydata/mysql/conf # 第一次跑起来的容器,查看conf里边是空的。#此时,下边的命令也不必执行了,因为它执行完,就是你删除完后的。# 查看mysql数据库下的user表,发现。# 再次测试,发现还是连接成功。

2023-09-27 11:14:11 1975 1

原创 docker安装nginx,并进行数据卷挂载

注:-p 虚拟机的端口80:docker容器内的端口。本地没有的话 就主动下载镜像。# 复制配置文件和页面。

2023-09-26 21:16:11 266

原创 linux中关于mysql:8版本初始随机密码登录不上,修改密码的操作

在 [mysqld] 下 skip-grant-tables # 添加该语句:忽略mysql权限问题,直接登录。ALTER user'root'@'%' IDENTIFIED BY '你要设置的密码';在 [mysqld] 下注释掉刚才添加的语句 #skip-grant-tables。mysql -u root -p # 输入你刚才设置的密码。再次执行登录mysql命令,输入密码,可以发现登录成功!mysql -u root -p # 直接回车。mysql -u root -p # 直接回车。

2023-04-25 18:10:47 941

原创 对于C语言的指针理解----指向一维数组的指针变量

1.定义:int (*p)[4];从运算符的优先级看,先看括号里的*p是一个指针变量,然后再看[4],所以,p首先是一个变量,但是区别于普通变量,它用于指向包含4个元素的一维数组,而不是指向一个变量!

2022-03-20 11:33:58 1886

原创 对于C语言的指针理解----字符串

一、字符串与指针1.对于字符串的理解对于字符串而言,c语言并没有为其提供任何专门的表示法,完全使用字符数组和字符指针来处理。2.字符数组和字符指针字符数组:用字符串初始化字符数组,是把此字符串依次存入字符数组所占空间中,这个数组是有名字的。字符指针:在内存中开辟了一个字符数组用来存放该字符串常量,但是这个数组是没有名字的。不能通过数组名来引用,只能通过指针变量来引用。

2022-03-12 12:27:22 1942 6

原创 对于C语言的指针理解----一维数组

一、在一维数组中指针的使用1.int a[5]={1,3,5,7,9};int *p=&a[0];*q=&a[4];q-p=4; //有意义,4代表q与p直接的元素个数p+q或q+p//均无意义注:q与p必须指向同一个数组,去进行减法计算才有意义。2.a++ //是错误的p++//是正确的,因为a是一个地址常量,而p是一个地址变量,并且++只能作用于变量之中3.p=a;(1)printf("%d",*p++);printf(

2022-03-10 13:13:45 697

转载 java8——初始Lambda

一、什么是Lambda?我们知道,对于一个Java变量,我们可以赋给其一个“值”。如果你想把“一块代码”赋给一个Java变量,应该怎么做呢?比如,我想把右边那块代码,赋给一个叫做aBlockOfCode的Java变量:在Java 8之前,这个是做不到的。但是Java 8问世之后,利用Lambda特性,就可以做到了。当然,这个并不是一个很简洁的写法。所以,为了使这个赋值操作更加elegant, 我们可以移除一些没用的声明。这样,我们就成功的非常优雅的把“一块代码”赋..

2021-05-19 21:17:37 290 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除