自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 最小生成树——Kruskal算法

最小生成树之Kruskal算法 Kruskal算法描述 Kruskal算法是基于贪心的思想得到的。首先我们把所有的边按照权值先从小到大排列,接着按照顺序选取每条边,如果这条边的两个端点不属于同一集合,那么就将它们合并,直到所有的点都属于同一个集合为止。至于怎么合并到一个集合,那么这里我们就可以用到一个工具——-并查集。换而言之,Kruskal算法就是基于并查集的贪心算法。 Kruskal算法流程 对于图G(V,E),以下是算法描述: 输入: 图G 输出: 图G的最小生成树 具体流程: (1)将图G看做一个森

2020-12-15 20:13:26 152

原创 分治法实验——二分查找

分治法实验——二分查找 一、分治法的基本步骤 分治法在每一层递归上都有三个步骤: 分解:将原问题分解为若干个规模较小,相互独立,与原问题形式相同的子问题; 治理:若子问题规模较小而容易被解决则直接解,否则递归地解各个子问题; 合并:将各个子问题的解合并为原问题的解。 二、举例 有序数列:1,22,31,49,51,66,73,88,90查找88 (1) a0=[1],a1=[22], a2=[31],a3=[49],a4=[51],a5=[66], a6=[73],a7= [88],a8=[90], (2)

2020-12-15 20:02:45 810

原创 Redis缓存穿透和雪崩

Redis缓存穿透和雪崩 学习视频遇见狂神说 服务的高可用问题 Redis缓存的使用,极大的提升了应用程序的性能和效率,特别是数据查询方面。但同时,它也带来了一些问题。其中,最要害的问题,就是数据的一致性问题,从严格意义上讲,这个问题无解。如果对数据的一致性要求很高,那么就不能使用缓存。 另外的一些典型问题就是,缓存穿透、缓存雪崩和缓存击穿。目前,业界也都有比较流行的解决方案 缓存穿透(查不到) 概念 缓存穿透的概念很简单,用户想要查询一个数据,发现redis内存数据库没有,也就是缓存没有命中,于

2020-12-02 20:28:34 99

原创 Redis主从复制

Redis主从复制 学习视频遇见狂神说 概念 主从复制,是指将一台Redis服务器的数据,复制到其他的Redis服务器。前者称为主节点(master/leader),后者称为从节点(slave/follower); 数据的复制是单向的,只能由主节点到从节点。Master以写为主,Slave 以读为主。 默认情况下,每台Redis服务器都是主节点; 且一个主节点可以有多个从节点(或没有从节点),但一个从节点只能有一个主节点。 主从复制的作用主要包括: 1、数据冗余:主从复制实现了数据的热备份,是持久化之外的一

2020-12-01 16:44:04 66

原创 Redis发布订阅

Redis发布订阅 学习视频遇见狂神说 Redis 发布订阅(pub/sub)是一种消息通信模式:发送者(pub)发送消息,订阅者(sub)接收消息。 Redis 客户端可以订阅任意数量的频道。 订阅/发布消息图: 第一个:消息发送者,第二个:频道第三个:消息订阅者 下图展示了频道 channel1 ,以及订阅这个频道的三个客户端 —— client2 、 client5 和 client1 之间的关系: 当有新消息通过 PUBLISH 命令发送给频道 channel1 时,这个消息就会被发送给订阅它的

2020-12-01 16:39:16 51

原创 Redis持久化

Redis持久化 学习视频遇见狂神说 面试和工作,持久化都是重点 Redis 是内存数据库,如果不将内存中的数据库状态保存到磁盘,那么一旦服务器进程退出,服务器中的数据库状态也会消失。所以 Redis 提供了持久化功能! RDB(Redis DataBase) 什么是RDB 在指定的时间间隔内将内存中的数据集快照写入磁盘,也就是行话讲的Snapshot快照,它恢复时是将快照文件直接读到内存里。 Redis会单独创建(fork)一个子进程来进行持久化,会先将数据写入到一个临时文件中,待持久化过程都结束了

2020-12-01 16:35:34 52

原创 Redis.conf详解

Redis.conf详解 学习视频遇见狂神说 启动redis时就需要启动Redis.conf; 启动Redis.conf需要通过配置文件 [root@localhost bin]# ls dump.rdb redis-check-aof redis-cli redis-server redis-benchmark redis-check-rdb redis-sentinel yconfig [root@localhost bin]# cd yconfig/ [root@l

2020-12-01 16:30:00 269

原创 SpringBoot整合

SpringBoot整合 学习视频遇见狂神说 SpringBoot操作数据:Spring-data jpa jdbc mongdb redis SpringData也是和SpringBoot齐名的项目 说明:在SpringBoot2.x之后,原来使用的Jedis被替换为了lettuce 原因: ​ Jedis底层:采用的是直连,多个线程操作的话是不安全的;如果想要避免不安全,使用Jedis pool连接池。更像BIO模式 ​ lettuce底层:采用的是netty,实例可以在多个线程中进行共享,

2020-12-01 16:24:15 69

原创 Jedis

Jedis 学习视频遇见狂神说 使用java来操作redis 什么是Jedis? 是Redis官方推荐的java连接开发工具,使用java操作redis的中间件 测试 1、导入对应的依赖 <!--导入jredis的包--> <dependencies> <dependency> <groupId>redis.clients</groupId> <artifactI

2020-12-01 16:19:37 56

原创 事务

事务 学习视频遇见狂神说 mysql中:ACID(原子性,一致性,隔离性,持久性) 要么同时成功,要么同时失败(原子性) Redis事务本质:一组命令的集合。 ----------------- 队列 set set set 执行 ------------------- 事务中每条命令都会被序列化,执行过程中按顺序执行,不允许其他命令进行干扰。 一次性 顺序性 排他性 redis单条命令是保证原子性的,但是redis事务不保证原子性 redis事务没有隔离级别的概念 所有的命令在事务中,并没有直接被执行

2020-12-01 16:15:42 149

原创 三种特殊数据类型

三种特殊数据类型 学习视频遇见狂神说 Geospatial(地理空间) 朋友的定位,附近的人,打车距离的计算 redis的Geo(geospatial)在redis3.2版本就推出了,这个功能可以推算地理位置的信息,两地之间的距离,方圆几里的人 可以查询一些测试数据 六个命令 geoadd # geoadd 添加地理位置 # 规则:两极(南极和北极)无法直接添加,我们一般会下载城市数据,直接通过java程序一次性导入 # 参数 key 值(经度、纬度、名称) 经度必须在纬度之前 127.0.0.

2020-12-01 16:12:16 622

原创 Redis的五大数据类型

五大数据类型 学习视频遇见狂神说 官方文档 中文文档 下面只是常用的命令,其余的命令如果要使用请参考官方文档! String(字符串) 90%的java程序员在使用redis的时候只会使用一个String类型 127.0.0.1:6379> keys * # 查看数据库中所有的key (empty array) 127.0.0.1:6379> set key1 v1 # 设置key值 OK 127.0.0.1:6379> get key1 # 获得key的值 "v1" 12

2020-12-01 11:18:40 89

原创 Redis之Redis入门

Redis入门 测试性能 redis-benchmark是一个压力测试工具,是官方自带的性能测试工具! redis-benchmark命令参数: 图片来自于菜鸟教程 测试: #测试:20个并发 1000个请求 redis-benchmark -h localhost -p 6379 -c 20 -n 1000 开启redis [root@localhost ~]# cd /usr/local/bin [root@localhost bin]# redis-server yconfig/redis.co

2020-12-01 11:09:59 67

空空如也

空空如也

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

TA关注的人

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