自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

原创 JMeter - http请求压力测试

官方地址:https://jmeter.apache.org/ 二、示例 需求: 现需要对一个http接口进行压力测试并生成测试报告,POST,请求方式是json,接口正常返回响应码是0 步骤: 1.jmeter新建一个线程组 2.新建http请求,设置请求方式、接口地址、请求头、请求参数等...

2020-06-04 14:11:41 25 0

原创 Redis学习笔记 - 监视器

参考:<<Redis设计与实现>> 注:这本书是基于Redis3.0版本写的,和后面的版本有点差异

2019-09-18 09:17:50 41 0

原创 Redis学习笔记 - 排序(2) - SORT命令的实现

参考:<<Redis设计与实现>> 注:这本书是基于Redis3.0版本写的,和后面的版本有点差异 Redis中sort命令简单使用,参考博客:https://blog.csdn.net/mytt_10566/article/details/100042971 ...

2019-09-18 09:17:12 68 0

原创 Redis学习笔记 - 排序(1) - 使用SORT命令

参考: http://www.redis.cn/commands/sort.html http://doc.redisfans.com/key/sort.html 一、命令 SORT key [BY pattern] [LIMIT offset count] [GET pattern] [AS...

2019-09-18 09:16:37 97 0

原创 Redis学习笔记 - Lua脚本(2) - Lua脚本的实现

参考:<<Redis设计与实现>> 注:这本书是基于Redis3.0版本写的,和后面的版本有点差异 Redis中Lua脚本相关命令介绍以及简单使用,参考博客:https://blog.csdn.net/mytt_10566/article/details/997159...

2019-09-02 09:41:49 474 0

原创 Redis学习笔记 - Lua脚本(1) - 使用Lua脚本

参考: http://www.redis.cn/commands/eval.html https://www.runoob.com/redis/redis-scripting.html Redis从2.6.0版本开始支持Lua脚本,通过在服务器嵌入Lua环境,Redis客户端可以使用Lua脚本...

2019-09-02 09:41:19 131 0

原创 Redis学习笔记 - 事务

参考: <<Redis设计与实现>> 注:这本书是基于Redis3.0版本写的,和后面的版本有点差异 http://www.redis.cn/topics/transactions.html Redis通过MULTI、EXEC、WATCH等命令来实现事务(tran...

2019-09-02 09:40:34 50 0

原创 Maven学习笔记 - git-commit-id-plugin插件

参考: 插件GitHub地址:https://github.com/git-commit-id/maven-git-commit-id-plugin git-commit-id-plugin 是一个类似于 buildnumber-maven-plugin 的插件,由于buildnumber-...

2019-08-28 17:16:32 2824 1

原创 Redis学习笔记 - 发布与订阅

参考: <<Redis设计与实现>> 注:这本书是基于Redis3.0版本写的,和后面的版本有点差异 http://www.redis.cn/commands/slowlog.html

2019-08-26 10:37:53 38 0

原创 Redis学习笔记 - 慢查询日志

参考: <<Redis设计与实现>> 注:这本书是基于Redis3.0版本写的,和后面的版本有点差异 http://www.redis.cn/commands/slowlog.html Redis慢查询日志功能:记录执行时间超过给定时长的命令请求,用户可以通过这...

2019-08-26 10:37:28 26 0

原创 Redis学习笔记 - 服务器(3) - 初始化服务器

参考:<<Redis设计与实现>> 注:这本书是基于Redis3.0版本写的,和后面的版本有点差异 一个Redis服务器从启动到能够接收客户端命令的请求,需要经过一系列的初始化和设置过程,比如: 初始化服务器状态 接受用户指定的服务器配置 创建相应的数据结构和网络连...

2019-08-19 10:44:44 43 0

原创 Redis学习笔记 - 服务器(2) - serverCron函数

参考:<<Redis设计与实现>> 注:这本书是基于Redis3.0版本写的,和后面的版本有点差异 serverCron函数:这个函数负责管理服务器的资源,并保持服务器自身的良好运转。默认每隔100ms执行一次。 下面介绍serverCron函数执行的操作,以及red...

2019-08-19 10:44:13 44 0

原创 Redis学习笔记 - 服务器(1) - 命令请求的执行过程

参考:<<Redis设计与实现>> 注:这本书是基于Redis3.0版本写的,和后面的版本有点差异 Redis服务器负责与多个客户端建立网络连接,处理客户端发送的命令请求,在数据库中保存客户端执行命令所产生的数据,并通过资源管理来维持服务器自身的运转。 命令请求的执...

2019-08-19 10:43:41 82 0

原创 Redis学习笔记 - 客户端

参考:<<Redis设计与实现>> 注:这本书是基于Redis3.0版本写的,和后面的版本有点差异 Redis服务器是一对多服务器程序:一个服务器可以和多个客户端建立网络连接,每个客户端可以向服务器发送命令请求,而服务器接收并处理客户端发送的命令请求,并向客户端返回命...

2019-08-19 10:43:05 58 0

原创 Redis学习笔记 - 时间事件、事件的调度与执行

参考:<<Redis设计与实现>> 注:这本书是基于Redis3.0版本写的,和后面的版本有点差异 一、时间事件 Redis的时间事件分为两类: 定时事件:让一段程序在指定的时间之后执行一次。 周期性事件:让一段程序每隔指定时间就执行一次。 一个时间事件主要由以下...

2019-08-10 22:59:55 77 0

原创 Redis学习笔记 - 文件事件

参考:<<Redis设计与实现>> 注:这本书是基于Redis3.0版本写的,和后面的版本有点差异 Redis服务器是一个事件驱动程序,服务器需要处理以下两类事件: 文件事件(file event):Redis服务器通过套接字与客户端(或其他Redis服务器)进行连...

2019-08-10 22:59:17 49 0

原创 Redis学习笔记 - 持久化

参考:<<Redis设计与实现>> 注:这本书是基于Redis3.0版本写的,和后面的版本有点差异 持久化方式: 全量写入RDB: 阻塞式SAVE 非阻塞式BGSAVE 增量写入AOF 一、全量写入RDB redis配置文件中默认的RDB配置 前3行是触...

2019-08-10 22:58:27 262 0

原创 集成美团点评cat报错,Unable to get instance of Logger, please make sure the environment was setup correctly!

这两天在集成美团点评cat监控平台时,一直提示下面的报错。 解决过程: 一开始以为是配置文件配置有问题,找了半天没发现啥问题 又想着是不是jar包冲突的问题,因为看到有人说netty版本的问题,不过试了一下不管用 因为是比较老的项目,不知道是不是有其他jar包影响到了cat,于是新建了个spri...

2019-08-01 15:06:36 236 0

原创 Redis学习笔记 - 过期键删除策略

参考:<<Redis设计与实现>> 注:这本书是基于Redis3.0版本写的,和后面的版本有点差异 一、过期键删除策略 一个键过期了,什么时候它会被删除?可能有以下三种策略: 定时删除:在设置键的过期时间的同时,创建一个定时器(timer),让定时器在键的过期时间来...

2019-07-21 23:07:32 160 0

原创 Redis学习笔记 - 内存回收、对象共享、对象的空转时长

参考:<<Redis设计与实现>> 注:这本书是基于Redis3.0版本写的,和后面的版本有点差异 一、内存回收 C语言不具备自动内存回收功能,所以Redis在自己的对象系统中构建了一个引用计数(reference counting)计数实现的内存回收机制。 通过这一...

2019-07-21 23:06:41 105 0

原创 Redis学习笔记 - 类型检查与命令多态

参考:<<Redis设计与实现>> 注:这本书是基于Redis3.0版本写的,和后面的版本有点差异 Redis中用于操作键的命令可以分为2种类型: 对任何类型的键执行,如del、expire、rname、type、object等命令 对特定类型的键执行,如set、g...

2019-07-21 23:05:47 40 0

原创 Redis学习笔记 - 有序集合对象zset

参考:<<Redis设计与实现>> 注:这本书是基于Redis3.0版本写的,和后面的版本有点差异 有序集合对象的编码是: ziplist skiplist 一、有序集合对象的编码 1.1 ziplist编码 ziplist编码的有序集合对象使用压缩列表作为底层...

2019-07-08 23:52:13 115 1

原创 Redis学习笔记 - 集合对象set

参考:<<Redis设计与实现>> 注:这本书是基于Redis3.0版本写的,和后面的版本有点差异 集合对象的编码是: intset hashtable 一、集合对象的编码 1.1 intset编码 intset编码的集合对象使用整数集合作为底层实现,集合对象包...

2019-07-08 23:51:45 75 0

原创 Redis学习笔记 - 哈希对象hash

参考:<<Redis设计与实现>> 注:这本书是基于Redis3.0版本写的,和后面的版本有点差异 哈希对象的编码是: ziplist hashtable 一、哈希对象的编码 1.1 ziplist编码 ziplist编码的哈希对象使用压缩列表作为底层实现,当有...

2019-07-08 23:51:17 66 0

原创 Redis学习笔记 - 列表对象list

参考:<<Redis设计与实现>> 注:这本书是基于Redis3.0版本写的,和后面的版本有点差异 列表对象的编码是: ziplist linkedlist 一、列表对象的编码 1.1 ziplist编码 ziplist编码的列表对象使用压缩列表作为底层实现,每...

2019-07-08 23:50:47 77 0

原创 Redis学习笔记 - 字符串对象

参考:<<Redis设计与实现>> 字符串对象的编码可以是 int、embstr 或 raw。 如果一个字符串对象保存的是整数值,并且可以用long类型来表示,那么就会将整数值赋值给字符串对象结构里的ptr属性,以及将字符串对象的编码设置为int。 如果保存的是字符串,并...

2019-07-03 23:40:09 62 0

原创 spring - AOP(6)- 记录后台管理员操作日志

一、需求 1.1 问题 后台一些涉及到新增、编辑、删除等敏感操作的需要记录下操作日志,包含操作人、操作内容、请求参数等等信息。 1.2 思路 统一在Controller层进行拦截,记录下请求信息 通过自定义注解,包含操作内容 通过Spring AOP + AspectJ来实现,利用AspectJ...

2019-07-02 23:51:40 398 0

原创 RabbitMQ学习笔记 - 消息传输保障

参考:<<RabbitMQ实战指南>> 消息可靠传输一般是业务系统接入消息中间件时首要考虑的问题,一般消息中间件的消息传输保障分为三个层级: At most once:最多一次。消息可能会丢失,但绝不会重复传输。 At least once:最少一次。消息绝不会丢失,但可...

2019-06-25 22:40:07 105 0

原创 RabbitMQ学习笔记 - 消费端注意点

参考:<<RabbitMQ实战指南>> 消费者客户端通过推模式或拉模式来获取并消费消息,这里RabbitMQ消费端来说,还有3点需要注意: 消息分发 消息顺序性 弃用QueueingConsumer 一、消息分发 当RabbitMQ拥有多个消费者时,队列收到消息将以轮循...

2019-06-25 22:39:25 116 0

原创 RabbitMQ学习笔记 - 发送方确认机制

参考:<<RabbitMQ实战指南>> RabbitMQ发送消息可能会遇到一个问题,发送方不知道消息是否真正到达了RabbitMQ。 在上篇博客中介绍了在AMQP协议层面提供了事务机制解决,但是使用事务机制后性能下降严重,这里还可以使用一种轻量级的方式 ------ 发送方...

2019-06-21 00:02:02 307 0

原创 RabbitMQ学习笔记 - 事务机制

参考:<<RabbitMQ实战指南>> 通过消息持久化可以解决因为服务器的异常崩溃而导致的消息丢失。但是,当消息的生产者将消息发送出去之后,并不能知道消息有没有正确到达服务器。如果不进行特殊配置,默认情况下发送消息的操作是不会返回任何信息给生产者的。 如果消息在到达服务器之...

2019-06-21 00:01:20 83 0

原创 RabbitMQ学习笔记 - 持久化

参考:<<RabbitMQ实战指南>> 持久化可以提高RabbitMQ的可靠性,以防在异常情况(重启、关闭、宕机等)下的数据丢失。 RabbitMQ的持久化主要分为三个部分:交换器的持久化、队列的持久化和消息的持久化。 交换器的持久化:通过在声明交换器时将 durabl...

2019-06-09 22:59:39 62 0

原创 RabbitMQ学习笔记 - 优先级队列

参考:<<RabbitMQ实战指南>> 优先级队列,也就是具有高优先级的队列具有高的优先权,优先级高的消息具备优先被消费的特权。 注: 优先级默认最低为0,最高为队列设置的最大优先级 对于单条消息来谈优先级是没有什么意义的。假如消费者的消费速度大于生产者的速度且Broke...

2019-06-09 22:54:50 115 0

原创 RabbitMQ学习笔记 - 延迟队列

参考:<<RabbitMQ实战指南>> 延迟队列存储的对象是对应的延迟消息,所谓“延迟消息”是指当消息被发送以后,并不让消费者立即拿到消息,而是等待特定时间后,消费者才能拿到这个消息进行消费。 在AMQP协议中,或者RabbitMQ本身没有直接支持延迟队列的功能,但是可以通...

2019-06-09 22:23:10 78 0

原创 RabbitMQ学习笔记 - 死信队列

参考:<<RabbitMQ实战指南>> Dead-Letter-Exchange,简称DLX,可称为死信交换器、死信邮箱等等。 当消息在一个队列中变成死信(dead message)之后,它能被重新发送到另一个交换器中,这个交换器就是DLX,绑定DLX的队列就称之为死信队列...

2019-06-09 19:17:35 94 0

原创 RabbitMQ学习笔记 - 过期时间(TTL)

参考:<<RabbitMQ实战指南>> TTL(Time To Live),过期时间。RabbitMQ可以对消息和队列设置TTL。 一、设置消息的TTL 设置消息TTL的两种方式: 方式一:通过队列属性设置,队列中所有消息都有相同的过期时间 方式二:对消息本身进行单独设置...

2019-06-08 23:02:51 779 0

原创 RabbitMQ学习笔记 - 备份交换器

参考:<<RabbitMQ实战指南>> 备份交换器(Alternate Exchange,简称AE),实际上和普通交换器没有多大区别,同样可以用来处理未被路由的消息。上一篇文章使用mandatory参数来解决,但是生产者代码逻辑变得复杂,所以我们可以使用备份交换器将这些未被...

2019-06-03 09:27:08 262 0

原创 RabbitMQ学习笔记 - mandatory参数

参考:<<RabbitMQ实战指南>> mandatory和immediate是channel.basicPublish方法中的两个参数,它们都有当消息传递过程中不可达目的地时将消息返回给生产者的功能。 RabbitMQ 3.0版本开始去掉了对immediate参数的支持,...

2019-06-03 09:26:00 788 3

原创 设计模式(1) - 单例

参考:&lt;&lt;Java并发编程的艺术&gt;&gt;   单例模式有以下特点: 单例类只能有一个实例。 单例类必须自己创建自己的唯一实例。 单例类必须给所有其他对象提供这一实例。 单例模式确保某个类只有一个实例,而且自行实例化并向整个系统提供这个实...

2019-01-06 16:56:32 72 0

翻译 SpringBoot(37) - Actuator(5) - Metrics

参考:https://docs.spring.io/spring-boot/docs/1.5.18.RELEASE/reference/htmlsingle/#production-ready-metrics   Spring Boot Actuator包含一个带有“gauge”和“count...

2019-01-05 23:43:33 362 0

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