- 博客(19)
- 收藏
- 关注
原创 在分布式的环境下如何解决缓存穿透,雪崩,击穿问题以及使用redisson解决缓存击穿问题
为了避免这种情况的发生,Redisson内部提供了一个监控锁的看门狗,它的作用是在Redisson实例被关闭前,不断的延长锁的有效期。对于缓存击穿,我们可以将查询的数据条件都哈希到一个足够大的布隆过滤器中,用户发送的请求会先被布隆过滤器拦截,一定不存在的数据就直接拦截返回了,从而避免下一步对数据库的压力。不存在数据设置短过期时间:对于某个查询为空的数据,可以将这个空结果进行Redis缓存,但是设置很短的过期时间,比如30s,可以根据实际业务设定。当然这种方式比较粗暴,对于某些业务场景是不适合的。
2024-01-15 20:49:04
1109
2
原创 动态规划专题(备战蓝桥杯国赛1/10)
主要写了动态规划啊最常见的三种类型,分别为 数字三角形模型,最长上升子序列模型和背包模型。明天继续更新动态规划专题
2023-05-31 23:13:56
196
原创 如何搭建一个属于自己的网站?
这几天正巧在搭建一个属于自己的专属网站,在搭建网站的过程中遇见了很多有趣的问题,于是想把这些问题记录下来,分享给大家。服务器,域名以及域名备案我都是在阿里云这个平台完成的,所以接下来都是以阿里云这个平台来操作的。
2023-03-23 18:18:08
5712
原创 Mysql基础---查询(1天学会mysql基础)
整理了一天一夜才整理出来的最详细,最容易记忆的mysql教程。满满的全是干货, 本篇包含了mysql基础的所有操作,学会这些,就能够写出来一些简单的管理系统!您知道的拥有。
2022-06-30 13:30:58
411
原创 (深度优先遍历和宽度优先遍历)DFS和BFS(1)
目录文章目录前言一、什么是DFS?二、什么是BFS?三、题目演示(一个简单的题目,帮助理解)前言DFS和BFS在解决能够解决我们见到的很多图论问题,两者有很大的区别,但有些时候,两者又有相同的地方。比如都能通过搜索,来达到某种目的。接下来我们通过两道试题来简单的对DFS和BFS进行理解。一、什么是DFS? DFS就相当于是一个非常耿直,执着的人,当它走某条路的时候,只要不走到无路可走他就一直往前走,直至无路可走,然后就退回一步,去另一条路搜索。...
2022-05-09 22:41:52
766
原创 c++算法----动态规划(背包专题)
1.普通背包问题2.完全背包问题3.多重背包问题1.普通背包问题每到第i个位置就考虑是否拿第i个位置上的物品(当然也要考虑当前背包的体积是否能装得下这个物品),以此类推,直至到达最后一个物品的位置。#include <iostream>#include <algorithm>using namespace std;/* * 有 N 件物品和一个容量是 V 的背包。每件物品只能使用一次。 *第 i 件物品的体积是 vi,价值是 wi。 *...
2022-05-02 18:52:13
3532
原创 java算法----动态规划(1)
1.机器人行走问题2.两人博弈问题看上面这道题目,首先先用暴力递归的方法来写,暴力递归就是把机器人从m位置开始,经过k步的所有方法都列举出来,然后找出最终位置在p的点,数一数一共有多少这样的路径就是我们最终想要的答案。然后我们就开始自然尝试,会发现机器人在1位置的时候,其下一步只能去2号位置,当机器人到达n位置的时候,其下一步就只能去n-1这个位置,当机器人在其他位置的时候,可以往左走也可以往右走(自然尝试)。由这些想法之后我们就可以写出暴力递归的方法了。 public static..
2022-04-26 20:19:10
934
1
原创 java---递归的理解到由递归引入动态规划
1.理解递归 1. 理解递归2 Fibonacci 递归写法3. 由暴力递归到动态规划 递归的过程很复杂,而且递归也很重要,它能够解决我们遇到的很多问题。所以理解递归很重要。再一个就是在学习算法的时候我们会遇见动态规划,直接解决动态规划对于大多数人来说都不太现实,而从暴力递归到动态规划就相对变得简单一点了。1.递归的理解...
2022-04-26 15:40:34
801
原创 java--数据结构 顺序队列和链式队列的建立及使用
顺序队列(循环队列):队列的特点是‘先进先出’。首先构建一个Object类型的数组,其类型由你的模板(<N>)决定,再设置两个“指针”(其本质就是两个变量,利用其加减完成对Object数组上取值删值的操作)------------base和top分别是"头指针"和“尾指针”。peek函数就是取出队列顶端元素,put是入队列操作,take是出队列操作,empty是判断队列是否为空。为何要用循环队列?因为队列是先进先出,当初队列后,从Object[0]到Object[base]都为空,造成了
2022-04-21 15:38:25
800
原创 java数据结构-----二叉树和利用二叉树排序
想要完成二叉树,就必须要先建一颗二叉树,那么该如何创建呢?有很多种方法,其一是利用广义表来创建,其二是利用当遇见空节点时将其赋值为某一元素如“*”,其三是利用二叉树的储存结构直接在主函数手动创建一个二叉树。今天我们就用第一种方法演示。第一种方法就是利用广义表,广义表储存就需要用到堆栈和压栈,还需要用一个标记flag(当其为true时处理左子树,当为false时处理右子树)。当遇见“(”时将标记flag=true,然后再堆栈(即将根节点放到栈顶);当遇见“,”时,说明这个时候要处理的是右子树,将标记fla
2022-04-18 22:17:10
608
2
原创 java 排序--冒泡排序,选择排序,归并排序 快速排序。
冒泡排序:冒泡排序很简单,就是想冒泡一样,让小的数或者大的数往上“冒泡”。(这个大多数人应该都会了,就不在多啰嗦了!)注意!冒泡排序之后,不改变相同数的相对位置不会改变,所以冒泡排序还是有一定的稳定性的。 public static void main(String[] args) { // TODO Auto-generated method stub int a[]= {3,5,8,2,0,5,6}; M_sort(a); System.out.println("冒泡排序后:..
2022-04-16 16:54:12
631
7
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人