- 博客(39)
- 资源 (1)
- 收藏
- 关注
原创 17、Redis雪崩和缓存
Redis缓存穿透和雪崩Redis缓存的使用,极大的提升了应用程序的性能和效率,特别是数据查询方面,但同时它也带来了一些问题,其中,最要害得问题,就是数据的一致性问题,从严格意义上讲,这个问题无解。如果对数据的一致性要求很高,那么就不能使用缓存。另外的一些典型问题就是。缓存穿透、缓存雪崩和缓存击穿,目前,业界也都有比较流行的解决方案!缓存穿透概念缓存穿透的概念很简单,用户想要查询一个数据,发现redis内存数据库没有,也就是缓存没有命中,于是向持久化层数据库查询,发现也没有,于是本
2022-01-21 10:14:11
186
原创 16、哨兵模式
哨兵模式(自动选老大)哨兵模式是一种特殊的模式,首先Redis提供了哨兵的命令,哨兵是一个独立的进程,作为进程,他会独立运行。原理:哨兵通过发送命令,等待Redis服务器响应,从而监控运行多个Redis实例。测试:我们目前的状态是一主二从配置哨兵配置文件sentinel.confsentinel monitor myredis 127.0.0.1 6379 1后面的这个数字1,代表主机挂了,slave投票看让谁接替成主机,票数最多的,就会称为主机!启动哨兵
2022-01-21 10:13:56
517
原创 15、主从复制
Redis主从复制概念主从复制,是指将一台Redis服务器的数据,复制到其他的Redis服务器,前者称为主节点(mater/leader),后者称为从节点(slave/follower);数据的复制是单向的,只能由主节点到从节点,Master以写为主,Slave以读为主。主从复制的作用主要包括数据冗余:主从复制实现了数据的热备份,是持久化之外的一种数据冗余方式。故障恢复:当主节点出现问题的时候,可以由从节点提供服务,实现快速的故障恢复,实际上是一种服务的冗余负载均衡:在主从复制的基础上
2022-01-21 10:13:40
390
原创 14、Redis发布订阅
Redis发布订阅Redis发布订阅,是一种消息通信模式,发布者pub发送消息,订阅者,sub接受消息,微信,微博,关注系统!订阅发布消息图第一个:消息发送者,第二个:频道,第三个:消息订阅者!测试订阅端:127.0.0.1:6379> subscribe xiaoduanshuoReading messages... (press Ctrl-C to quit)1) "subscribe"2) "xiaoduanshuo"3) (integer) 11
2022-01-21 10:13:26
74
原创 13、Redis持久化
RDB我们默认就是RDB,一般情况下不需要修改这个配置rdb保存的文件是dump.rdb都是在我们的配置文件中配置的触发机制save的规则满足的情况下,会自动触发rdb规则执行flushall命令,也会触发rdb规则退出redis,也会产生rdb文件!备份就会自动生成一个dump.rdb如何恢复rdb文件!只需要将rdb文件放在redis启动目录就可以,redis启动的时候会自动检查dump.rdb恢复其中的数据!查看需要存在的位置127.0.0.1:6379>
2022-01-21 10:13:10
172
原创 12、RedisConfig详解
config文件中的所有内容配置文件unit单位不区分大小写包含就比如Spring、import、include网络bind 127.0.0.1 -::1 #绑定ipprotected-mode yes #保护模式port 6379 #默认的端口通用GENERALdaemonize yes #以守护进程的方式运行,默认是no,我们需要自己开启yes!pidfile /var/run/redis_6379.pid #如果以后台方式进行,我们需要指定一个pid文件
2022-01-21 10:12:48
1430
原创 11、使用SpringBoot集成Redis
Spring-Boot整合Spring-Boot操作数据:Spring-data jpa jdbc MongoDB redisSpringData也是SpringBoot齐名的项目、说明:在SpringBoot2之后,原来使用的jedis被替换为lettucejedis:采用的直连,多个线程操作的话。是不安全的,如果想要避免不安全。使用jedis pool连接池!更像BIO模式lettuce:采用netty,实例可以再多个线程中进行共享,不存在的线程不安全的情况!可以减少线程数
2022-01-21 10:12:27
113
原创 10、使用Java操作Redis之Jedis
Jedis我们要使用java来操作Redisjedis是redis官方唯一推荐的java连接开发工具!使用java操作redis中间件!如果你要使用java操作redis,那么一定要对jedis十分的熟悉redis导入对应的依赖 <dependencies> <!-- https://mvnrepository.com/artifact/redis.clients/jedis --> <dependency>
2022-01-21 10:12:09
318
原创 9、Redis事务详解
事务事务本质:一组命令的集合!一个事务的所有命令都会被序列化,在事务执行的过程中,会按照顺序执行。一次性顺序性排他性执行一系列的命令!Redis事务没有隔离级别的概念!所有的命令在事务中,并没有直接执行!只有发起执行命令才会执行!ExecRedis单条命令是保证原子性的。要么同时成功,要么同时失败,原子性!redis的事务!开启事务命令入队执行事务正常执行事务127.0.0.1:6379> multi #开启
2022-01-20 20:16:33
84
原创 8、Redis中BitMaps
Bitmaps位存储统计疫情感染人数:0 1统计用户信息:活跃,不活跃!登录和未登录。使用bitmap来记录,周一到周日的打卡周一:1,周二:0,周三:1…127.0.0.1:6379> setbit sign 0 1(integer) 0127.0.0.1:6379> setbit sign 1 0(integer) 0127.0.0.1:6379> setbit sign 2 1(integer) 0127.0.0.1:6379>
2022-01-20 20:06:21
272
原创 7、Redis中Hyperloglog的使用
Hyperloglog什么是基数?A{1,3,5,7,8,7} B{1,3,5,7,8}基数(不重复的元素),可以接受误差简介Hyperloglog是做基数统计的算法网页的UV(一个人访问一个网站多次,还是算作一个人)传统的方式:set保存用户的Id,然后就可以同级set的元素数量作为判断标准,如果保存大量的用户id,就会比较麻烦,目的是计数,而不是保存用户idHyperloglog优点:占用的内存是固定的,2^64不同的元素的技术,只需要12KB的内存,如果要
2022-01-20 20:05:34
399
原创 4、Redis基础知识
基础知识redis默认有16个数据库默认使用的是第0个可以使用select进行切换数据库127.0.0.1:6379> select 3#切换数据库OK127.0.0.1:6379[3]> dbsize#查看数据库大小(integer) 0127.0.0.1:6379[3]> set name laosi#设置keyOK127.0.0.1:6379[3]> dbsize(integer) 1127.0.0.1:6379[3]> flushdb
2022-01-20 19:59:59
204
原创 XML文档的部署代码
对pom.xml和web.xml文件的部署文章目录一、部署java控制台项目的pom.xml文件 二、部署JavaWeb项目的pom.xml文件 三、部署JavaWeb项目的web.xml 注意一、部署java控制台项目的pom.xml文件 <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncodin
2021-11-27 10:54:40
876
原创 利用滑动窗口对字符串进行操作
给定一个字符串 s ,请你找出其中不含有重复字符的 最长子串 的长度。package list2;import list1.ListNode;import java.util.*;/** * Created with IntelliJ IDEA. * * @author : Future master * @version : 1.0 * @Project : Java算法联系 * @Package : list2 * @ClassName : TestOne.java *
2021-11-03 23:24:07
195
原创 双指针对链表的操作
一、链表结构package list1;/** * Created with IntelliJ IDEA. * * @author : Future master * @version : 1.0 * @Project : Java算法联系 * @Package : list1 * @ClassName : ListNode.java * @createTime : 2021/11/2 21:42 * @Email : 2467636181@qq.com */public c
2021-11-03 00:05:03
167
原创 算法题第四天
目录一、垃圾倒序排序算法题二、给定一个字符串,你需要反转字符串中每个单词的字符顺序,同时仍保留空格和单词的初始顺序。三、吃最多种类的糖果。一、垃圾倒序排序算法题package double_point3;import java.util.Arrays;/** * Created with IntelliJ IDEA. * * @author : Future master * @version : 1.0 * @Project : Java算法联系 * @Pac..
2021-11-01 20:44:28
109
原创 双指针以及字符串的操作
文章目录二、数组元素进行向后移动n个位置双指针以及数组移动和找出数组中只出现一次的数字 二、数组元素进行向后移动n个位置 1.引入库 2.读入数据 总结前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例可供参考一、pandas是什么?示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据...
2021-10-31 20:14:46
496
原创 双指针以及数组移动和找出数组中只出现一次的数字
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言 一、双指针对数组中元素进行平方后再排序 二、利用“翻转”对数组进行向右移动n个位置 三、利用异或运算找出数组中只存在一次的数字前言下面两个例子算法比较新颖,第一个例子为经典双指针一、双指针对数组中元素进行平方后再排序package double_point;import java.util.Arrays;/** * Created with IntelliJ IDEA.
2021-10-30 20:59:55
132
原创 二分查找算法的经典题目
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言 一、pandas是什么? 二、使用步骤 1.引入库 2.读入数据 总结前言二分查找算法可以很快地找出数组中的某个元素或者是某个边界。一、经典题目,找元素/** * Created with IntelliJ IDEA. * * @author : Future master * @version : 1.0 * @Project : Java算法联系 * @Pa
2021-10-29 21:41:31
353
原创 利用Docker运行一个java镜像的详细步骤
在Docker中运行一个java相关的镜像步骤一、查看linux版本1、首先下载能够查看版本的红帽工具2、利用红帽lsb工具查看linux版本3、查看内核版本以及系统位数二、使用yum进行下载docker1、查看自己之前有没有下载过docker版本2、利用yum下载3、启动Docker4、查看Docker状态三、利用Docker环境去运行jar包1、 首先要确定Docker环境正常2、其次安装上传下载的软件3、创建一个新的文件夹并且进入该文件夹4、将java文件利用maven打包好的jar包上传5、创建D.
2021-10-24 20:23:17
8320
原创 关于使用Idea中maven工具打包没有主类的问题
关于使用idea中的maven工具打包出现的问题包装出来的jar包没有主类(1)没有配置阿里云仓库(2)没有利用maven-assembly-plugin这个插件添加主类!(3)生成了含有“with-dependencies.jar”这个后缀的jar包!(4)如果以上均没有问题可以试试再 pluginManagement标签下添加一个plugins与其同级的标签!包装出来的jar包没有主类(1)没有配置阿里云仓库 如果没有配置相应的阿里云仓库则可能无法下载相关的依赖。我出现的问题就是无论如何找不到a
2021-10-24 19:13:14
6556
1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人