自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 leetcode HOT 100(128.连续最长序列)

这道题我们可以判断每个数current_num是否存在current_num-1,如果存在说明他不是开头数字,如果不存在说明他是开头数字,接下来再用while(current_num+1)遍历是否存在他后面的一个数字,如果存在,那么连续长度+1.

2025-06-13 14:06:41 375 2

原创 Redis哨兵机制

当我们的主服务器挂了,那么该怎么办呢?这时候就用到了哨兵机制,他负责监控主服务器,当主节点挂了的时候,他就会在从节点里选择一个作为新的主节点,并将旧的主节点变为从节点。

2025-06-12 20:24:42 419

原创 leetcode HOT100(49.字母异位词分组)

leetcode HOT100 49.字母异位词分组

2025-06-12 16:58:51 228

原创 Redis分布式缓存(RDB、AOF、主从同步)

当AOF文件过大时会触发重写机制,简单来说就是会读取数据库中的键值对数据,然后将每个键值对用一条命令记录到AOF文件中,将重复的命令合成为一个命令,全部完成后,再将新的AOF文件替换掉旧的AOF文件,比如。:主进程创建重写AOF的子进程,父子进程共享物理内存,重写子进程对这个内存为只读,重写子进程会读取数据库里的所有键值对,将每个键值对转化为一条命令。RDB快照又叫做Redis数据快照,简单来说就是,将数据记录到磁盘中,当Redis发生故障重启后,可以根据快照文件进行数据回复。RDB会在什么时候执行?

2025-06-11 20:02:32 1543 1

原创 Redis相关知识总结(缓存雪崩,缓存穿透,缓存击穿,Redis实现分布式锁,如何保持数据库和缓存一致)

redis是基于内存读写的数据库,因此它的读写速度非常快。常用于缓存、队列、分布式锁等场景。Redis中还有很多数据结构类型:String 、Set、 Hash、 List、ZSet(有序集合)、Bitmaps(位图) HyperLogLog(基数统计)、GEO(地理信息)、Stream(流)。我们将数据存入到redis当中,之后的每次请求都先去redis当中找是否存在数据。从而提高了查询速度也降低了数据库的压力。为了保证redis和数据库的数据一致性,我们通常会给其设置过期时间。

2025-06-10 17:56:42 6267 6

原创 黑马点评开发日记-用户签到

我们可以先获取本月到目前为止的所有签到记录,返回一个十进制数字。我们可以让它与1做与运算,得到该数字的最后一位。判断最后一位是否为0,为0则终止,为1则计数器+1,继续便利。把每一个bit位对应当月的每一天,形成了映射关系。用0和1标示业务状态,这种思路就称为位图(BitMap)。这样我们就用极小的空间,来实现了大量数据的表示。我们按月来统计用户签到信息,签到记录为1,未签到则记录为0.我们可以采用类似这样的方案来实现我们的签到需求。,转换为bit则是 2^32个bit位。

2025-06-10 14:36:18 604 1

原创 黑马点评开发日记-好友关注和取关,共同关注

推拉模式是一个折中的方案,站在发件人这一段,如果是个普通的人,那么我们采用写扩散的方式,直接把数据写入到他的粉丝中去,因为普通的人他的粉丝关注量比较小,所以这样做没有压力,如果是大V,那么他是直接将数据先写入到一份到发件箱里边去,然后再直接写一份到活跃粉丝收件箱里边去,现在站在收件人这端来看,如果是活跃粉丝,那么大V和普通的人发的都会直接写入到自己收件箱里边来,而如果是普通的粉丝,由于他们上线不是很频繁,所以等他们上线时,再从发件箱里边去拉信息。:利用智能算法屏蔽掉违规的、用户不感兴趣的内容。

2025-06-09 17:57:49 667

原创 黑马点评开发日记-达人探店(发布笔记,查看笔记,点赞,点赞排行榜)

探店笔记类似点评网站的评价,往往是图文结合。tb_blog:探店笔记表,包含笔记中的标题、文字、图片等。tb_blog_comments:其他用户对探店笔记的评价。把前一节中的 对set 的操作都先改为对 zset 的操作。

2025-06-08 19:59:16 277 1

原创 黑马点评开发日记-Redis消息队列

什么是消息队列:字面意思就是存放消息的队列。最简单的消息队列模型包括3个角色:这存在一些现成的mq,比如kafka,rabbitmq等等,但是呢,如果没有安装mq,我们也可以直接使用redis提供的mq方案,降低我们的部署和学习成本。基于List结构模拟消息队列消息队列(Message Queue),字面意思就是存放消息的队列。而Redis的list数据结构是一个双向链表,很容易模拟出队列效果。队列是入口和出口不在一边,因此我们可以利用:LPUSH 结合 RPOP、或者 RPUSH 结合 LPOP来实现。

2025-06-08 17:21:35 724 1

原创 黑马点评开发日记-优惠券秒杀优化

我们来回顾一下下单流程当用户发起请求,此时会请求nginx,nginx会访问到tomcat,而tomcat中的程序,会进行串行操作,分成如下几个步骤1、查询优惠卷2、判断秒杀库存是否足够3、查询订单4、校验是否是一人一单5、扣减库存6、创建订单其中里面很多操作都是而且还是一个执行, 这样就会导致我们的程序执行的很慢,所以我们需要异步程序执行。我们可以将库存信息存入到redis当中然后在redis中去实现判断库存是否充足,校验一人一单。

2025-06-08 15:41:00 326

原创 黑马点评开发日记-优惠券秒杀(悲观锁,乐观锁,分布式锁,Redisson)

Override//查询优惠券信息//判断秒杀是否开始//未开始return Result.fail("秒杀尚未开始");//已经结束return Result.fail("秒杀已经结束");//判断库存是否充足return Result.fail("库存不足");//6.一人一单//用户id//6.1查询订单//6.2判断用户是否已经购买过了//购买过了return Result.fail("您已经购买过了");//扣减库存.update();if (!

2025-06-07 17:17:20 1185 3

原创 黑马点评开发日记-商铺缓存(缓存穿透,缓存雪崩,缓存击穿)

黑马点评开发日记-店铺缓存(缓存穿透,缓存雪崩,缓存击穿)

2025-06-02 15:27:44 738 3

原创 黑马点评开发日记-短信登录

黑马点评开发日记-短信登录验证

2025-06-01 16:14:07 278

原创 经典算法题——迷宫问题(详解)

迷宫问题

2025-03-02 22:01:59 240 1

原创 蓝桥杯——奇怪的捐赠(进制的转换)

但是还有没有更加优雅的解题方法呢?我们可以想到假如有一个1234这个数为7进制数,那我们怎么把它转化为10进制呢?很明显1∗1+2∗7+3∗49+4∗343。由此我们可以想到可以把100万转化为7进制得到的每一位相加就可以得到答案了。题目要求将100万正好分成若干份,并且要求每份必须是7的若干次方。我们可以直接暴力求解,我们可以大致估算一下7的7次方就已经80多万了,所以我们直接7层循环,从0到5遍历,看哪一种情况刚好满足。

2025-02-27 17:36:50 219

原创 蓝桥杯真题——回文字符串

找到该字符串中第一个非关键字和最后一个非关键字的位置,之后分别向内向外扩散,向内扩散时left(第一个非关键词)<=right(最后一个一个非关键词)并且s[left]=s[right]否则跳出循环,向外扩散时l>0并且s[l]=s[r],最后判断是否全部遍历完全,如果遍历完全说明可以成为回文字符串。

2025-02-26 22:45:52 448

原创 蓝桥杯真题——班级活动

小明的老师准备组织一次班级活动。班上一共有 n 名 (n 为偶数) 同学,老师想把所有的同学进行分组,每两名同学一组。为了公平,老师给每名同学随机分配了一个n 以内的正整数作为id,第i名同学的id为ai老师希望通过更改若干名同学的 id 使得对于任意一名同学 i,有且仅有另一名同学 j 的 id 与其相同 (a i =a j )。请问老师最少需要更改多少名同学的 id?

2025-02-24 18:21:34 355

原创 算法练习:海盗分金问题(约瑟夫问题)

每一个恶魔都非常的贪婪,渴望得到尽可能多的金币,同时每一个恶魔又都非常的狡猾,他们都会选择对自己最有利的情况进行投票。否则,该方案不会被执行。如果方案没有被执行,那么提出方案的恶魔老大将会被恶魔们杀死,他不配成为恶魔老大。剩下恶魔中编号最小的恶魔将会成为新的恶魔老大,然后重新按照上述规则,重新由新的恶魔老大提出新的方案进行操作,直到剩下最后一个恶魔或者有一个恶魔老大的方案被同意执行,那么分配结束。现在让你作为编号为1的恶魔,你是恶魔老大,请问聪明的你要怎么样才能让自己在不被杀死的情况下获得最多的金币呢。

2024-08-09 17:15:23 638 2

原创 C语言判断一个数是否是素数(三种方法)

大一c语言作业,判断是否为素数

2024-08-09 17:00:09 8523 2

原创 C语言猜数游戏详解(含生产随机数rand函数,以及关机代码)

看到这就结束了,可以把代码发给你那懂一点点代码的怨种朋友让他玩猜数游戏了。

2023-12-09 13:07:57 613 3

原创 C语言入门:分支和循环(if, switch...case ,while,do.....while, for的用法 )

到这里我所介绍的分支与循环语句就结束了,希望可以帮到各位。要想熟练掌握分支与循环语句,仅仅学会简单的基本语句是不能掌握的,最重要的还是要多敲代码多刷题。我想要告诉大家努力终有回报的。

2023-12-09 10:50:27 187 1

原创 介绍如何使用markdown在CSDN中写博客(超详细)

讲到这里这篇博客到这里就结束了,希望这篇博客可以帮到大家。还有更多markdown的用法等着我们自己去发现和使用,希望大家能够学会并熟练掌握markdown语法。对这篇文章表示支持和赞美↩︎。

2023-12-03 15:06:06 225 1

原创 写给2023年八月份刚接触到c语言的自己(介绍最简单的c语言 hello,world的程序编写,格式及作用)

首先,当我第一次编写这个程序时,看着书很容易就写出来了,但是每一行代码的作用我都不懂,问一些学长他们告诉我让我记得这是写它的格式,让我先死记住,以后学习的过程中就慢慢的懂了。1.第一行代码 #include<stdio.h>是调用系统中的库函数的作用<>中填入各种库函数的名称,比如还有数学函数math.h等等。4.第四行printf是print 和format的组合,作用是输出" "中的内容。而 \n 是换行符,是用来换行的。就这些了,希望可以帮到更多像以前的我一样想要知道各个代码的意义的朋友。

2023-11-16 11:37:35 98

空空如也

空空如也

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

TA关注的人

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