自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

夜一

早上搬砖,晚上砌梦想

  • 博客(22)
  • 收藏
  • 关注

原创 Redis缓存穿透,击穿,雪崩

缓存穿透当用户请求数据,先查询缓存,发现没有,就去查询数据库,当缓存跟数据库都没有相应数据的时候,用户又无限请求,就会把数据库压垮。解决方案:1.布隆过滤器:是一种数据结构,对所有可能查询的参数以hash形式存储,在控制层先行校验,不符合规制就丢弃,从而避免对底层存储系统的查询压力:2.缓存空对象:当存储层不命中后,即使返回的空对象也将其缓存起来,同时设置过期时间,之后再访问这个数据会从缓存中获取,保护后端数据源。存在问题:1.如果空值能够被缓存起来,意味着缓存需要更多的空间存储更多的键,.

2021-04-29 16:07:30 160

原创 Redis哨兵模式(Sentinel)

概念主从切换技术的方法是:当主服务器宕机后,需要手动把一台从服务器切换为主服务器,这就需要人工干预,费事费力,还会造成一段时间内服务不可用。这不是一种推荐的方式,更多时候,我们优先考虑哨兵模式。如果Redis主机故障了,根据投票数,自动将从库变成主库哨兵模式是一种特殊的的模式,首先Redis提供哨兵命令,哨兵是一个独立的进程,作为进程,他会独立运行,其原理是哨兵通过发送命令,等待Redis,服务器响应,从而监控运行的多个Redis实例。哨兵作用:1.通过发送命令,让Redis服.

2021-04-29 14:46:09 162

原创 Redis主从复制

概念主从复制,是指一台Redis服务器数据,复制到其他Redis服务器。前者称为主节点(master/leader),后者成为从节点(slave/follower);数据是单向的,只能由主节点到从节点。Master以写为主,Slave以读为主。默认情况下,每台Redis服务器都是主节点;且一个主节点可以有多个从节点,但一个从节点只有一个主节点。为什么需要主从复制(集群:防止宕机,一主二从):1.从结构上,单个Redis服务器会发生单点故障,并且一台服务器需要处理所有的请求负载,压力.

2021-04-29 12:47:56 112 1

原创 Redis发布订阅

概念Redis 发布订阅 (pub/sub) 是一种消息通信模式:发送者 (pub) 发送消息,订阅者 (sub) 接收消息。Redis 客户端可以订阅任意数量的频道。下图展示了频道 channel1 , 以及订阅这个频道的三个客户端 —— client2 、 client5 和 client1 之间的关系:当有新消息通过 PUBLISH 命令发送给频道 channel1 时, 这个消息就会被发送给订阅它的三个客户端:Redis 发布订阅命令测试:1.登录客户端,然.

2021-04-28 00:28:57 47

原创 Redis中AOF操作

概念AOF=Append Only File,把所有操作都记录下来,恢复的时候,全部操作再执行一遍。有点像MySQL的binlog,实时性更好,丢失的数据更少具体原理以日志形式记录每个操作,将Redis所有执行过的命令记录下来(读操作不记录),只许追加文件不可以改写文件,redis启动之初会读取该文件重新构建数据。AOF配置详解在配置文件redis.conf全局搜索APPEND ONLY MODE1.是否开启AOF(默认关闭)(一般使用的时候只需要改为yes,其他配置不需.

2021-04-27 02:03:53 1038

原创 Redis中RDB操作

RDB=RedisDateBase,Redis是内存数据库,如果不将内存中的数据库状态保存到磁盘,那么一但服务器进程退出,服务器中的数据库状态也会消失。所以需要用到持久化功能!RDB持久化是将当前进程中的数据生成快照保存到硬盘(因此也称作快照持久化),保存的文件后缀是rdb;当Redis重新启动时,可以读取快照文件恢复数据。RDB持久化是指在指定的时间间隔内将内存中的数据集快照写入磁盘。也是默认的持久化方式,这种方式是就是将内存中数据以快照的方式写入到二进制文件中,默认的文件名为dump.rdb。..

2021-04-27 00:33:46 2832

原创 Redis配置redis.conf

2021-04-24 00:46:15 58

原创 SpringBoot整合Redis

具体流程:创建项目,导入依赖,配置配置文件,测试使用1.创建项目2.查看底层配置文件下面的是我们可以重写的propertise文件参数模板方法(没有序列化,会导致保存的时候乱码),可以重写代替3.配置配置文件(重写参数)4.测试使用:注入Redistemplate后发现能使用的数据类型事务等等基础redis功能测试测试中文乱码了5.解决中文乱码(序列化)底层看到序列化看到很多序列化默认用的jdk序列化因为他是默

2021-04-24 00:20:32 82

原创 Jedis:java中操作Redis

1.创建项目2.导入Jedis的包查找包:https://mvnrepository.com/ <dependencies> <dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId> <version>3.

2021-04-23 18:10:57 192

原创 Redis乐观锁

悲观锁:认为什么时候都会出问题,什么操作都加锁乐观锁:认为什么时候都没问题, 只在更新的时候会上锁,更新的时候会比较version举个例子:1.设置了100金额,花去20,这是正常的事务2.开启一个事务,但是没有提交3.此时2还没提交,我这里又对金额进行了操作4.此时,2进行提交,就会返回nil,证明事务提交失败,因为金额已经被操作过了,在提交事物的时候,去对比了version,发现不对,就提交失败了5.此时,接触监控,然后重新监控,就成功6.总结,这里的watch起到了乐

2021-04-23 17:32:15 116

原创 Redis事务

Redis 事务可以一次执行多个命令, 并且带有以下三个重要的保证:(redis 一次性,顺序性,排他性。)批量操作在发送 EXEC 命令前被放入队列缓存。收到 EXEC 命令后进入事务执行,事务中任意命令执行失败,其余的命令依然被执行。在事务执行过程,其他客户端提交的命令请求不会插入到事务执行命令序列中。事务可以理解为一个打包的批量执行脚本,但批量指令并非原子化的操作,中间某条指令的失败不会导致前面已做指令的回滚,也不会造成后续的指令不做。redis单条命令是原子性的,但 Redis 没有..

2021-04-23 17:05:30 54

原创 Redis的数据类型及命令

Redis有五大数据类型:String,List,Set,Hash,Zset三种特殊类型:geospatial,hyperloglog,bitmaps1.String使用场景:计数器,统计多单位数量,对象缓存存储常用命令:1.追加字符串,如果key不存在,相当于set key APPEND KEY ""2.获取字符串长度 STRLEN KEY3.设置浏览数 SET VIEWS 0 3.1 自增减1 自增1 INCR VIEWS 自减1 DECR VI.

2021-04-23 15:36:23 73

原创 Redis基本命令

1.切换数据库(默认有16个数据库) select 3(切换到3号数据库)2.查看数据库数据数量 DBSIZE3.设置 key value set key value4.通过key 获取value get key 5.获取所有key key *6.清楚当前数据库 flushdb7.清楚所有数据库 flushall...

2021-04-22 23:26:32 69

原创 Windows安装Redis

1.下载安装包下载地址:https://github.com/dmajkic/redis2.解压3.双击redis-server.exe启动应用4.启动redis-cli.exe服务端测试5.连接图形界面查看

2021-04-22 22:33:58 91

原创 使用Typora+PicGo+七牛云实现图片上传存,并且使用的是自己的域名作为图片地址

1.登录官网注册:官网:https://www.qiniu.com/2.左上角选择对象存储Kodo3.新建空间存储区域选择一个离你近点的,我选的是华南,每个地点有个编号的,后面要用来配置PicGo,这里先说一下区域对应编号华东:z0;华北:z1;华南:z2:北美:na0:东南亚:as04.绑定自定义域名, 也可以使用免费提供得30天域名5.获取PicGo需要得配置信息AccessKey、SecretKey:点击右上角的头像【个人中心】----【密钥管理】访问网址:点开【空间.

2021-04-16 23:36:33 419

原创 linux中mysql执行sql文件

进入mysql目录下,上传sql文件登录mysql:./bin/mysql -u root -puser + 数据库名称, source + sql路径

2021-04-14 12:07:57 913

原创 linux安装redis

1.下载压缩包2.上传到服务器并解压上传到一个目录下解压tar -zvxf redis-6.2.1.tar.gz3.移动redis目录 mv /app/redis-6.2.1 /usr/local/redis4.进入/usr/local/redis目录并执行make命令5.安装 make PREFIX=/usr/local/redis installPREFIX= 这个关键字的作用是编译的时候用于指定程序存放的路径。比如我们现在就是指定了redis必须存.

2021-04-12 17:10:58 61

原创 linux安装mysql5.7.25

1、进入官网下载压缩包官网:https://dev.mysql.com/downloads/mysql/5.7.html#downloads2、检测系统是否自带安装 MySQL,检查否存在 mariadb 数据库rpm -qa | grep mysql这里没有如果有:mysql-libs-5.1.52-1.el6_0.1.x86_64要先进行卸载:rpm -e mysql-libs-5.1.52-1.el6_0.1.x86_64  // 普通删除模式rpm -e --nod.

2021-04-12 14:31:30 1104

原创 linux启动mysql报Starting MySQL..The server quit without updating PID file ([FAILED]ql-5.7.28/data/mysql

报错:1、可能是/app/mysql-5.7.28/data/数据目录mysql用户没有权限(修改数据目录的权限)解决方法 :给予权限,执行 “chown -R mysql.mysql /app/mysql-5.7.28/data” 然后重新启动mysqld2、可能进程里已经存在mysql进程解决方法:用命令“ps -ef|grep mysqld”查看是否有mysqld进程,如果有使用“kill -9 进程号”杀死,然后重新启动mysqld!...

2021-04-12 14:22:23 863

原创 linux安装apollo

1.环境准备 jdk : 1.8+ ,mysql-5.7.28+jdk : 1.8安装教程(https://blog.csdn.net/weixin_42691149/article/details/115499107)2.下载压缩包3.在Mysql数据库上执行脚本4.上传到服务器并解压 unzip apollo-quick-start-1.5.1.zip5.修改demo.sh文件 vim demo.sh6.启动:确保8070,8080,8090端口不被占.

2021-04-08 01:11:04 148

原创 阿里云绑定Centos8机器agent问题

阿里云关联机器:但是需要你安装agent:解决:dnf install python2alternatives --set python /usr/bin/python2之后再按上面步骤关联一次就成功了

2021-04-08 00:40:26 140

原创 linux安装jdk1.8

1.官网下载jdkhttps://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html2.在usr目录下创建java文件夹 # mkdir java3.上传jdk到服务器 /usr/java 下,并进行解压 tar -zxvf jdk-8u281-linux-x64.tar.gz4.修改环境变量 vim /etc/profile在底部加入:export JAVA_HOME=/usr/jav.

2021-04-07 23:51:37 89 1

空空如也

空空如也

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

TA关注的人

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