自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 redis本地代码实战(3)模拟缓存击穿,使用互斥锁实现

当线程A还在查询流程中的时候,此时线程B进入查询流程,也是一样先尝试从缓存中获取数据,如果没有查询出来,就尝试去获取互斥锁从数据库中查询,而此时由于线程A已经占有了互斥锁,而互斥锁只允许同一时间只有一个线程在操作,所以一般流程下,线程B会进入一段休眠,等休眠时间过去之后再去尝试获取互斥锁,进入一个休眠自旋的状态,直到获取到互斥锁为止,如果在自旋状态中缓存中已经被写入了这个key的值,那么线程B则会在自旋的第一步就直接从缓存中读取到值然后直接返回了。最后给锁也添加过期时间。

2023-12-18 22:29:24 444

原创 redis本地代码实战(2)模拟缓存穿透,使用布隆过滤器解决

上一篇我们使用缓存空值的java实现方式浅浅的解决了一个redis缓存穿透的解决方案,这一篇来看看布隆过滤器的实现。

2023-12-03 19:23:54 505 1

原创 redis本地代码实战(1)模拟缓存穿透,使用缓存空值解决

然后此时我们我们使用jmeter(基本配置在上一篇详细总结过,这里不再赘述)使用一百个线程循环100次,模拟一个小型的缓存穿透,通过查询我们redis以及数据库中都不存在的一个值,查看最终结果会是怎么样。是指客户端请求的数据在缓存中和数据库中都不存在,这样缓存永远不生效,这些请求都会打到数据库,导致数据库服务请求量激增,会存在mysql服务宕机的风险。1.如果查询数据不存在,则在redis中缓存一个空值。准备工作完成之后就可以开始写解决方案的逻辑。首先我们准备好本地redis的连接。常见的解决方案有两种。

2023-11-28 23:23:36 594 1

原创 JMeter的安装配置以及基本使用

上一篇总结了redis集群的基本配置,后面本来打算本地实战代码演练一下缓存雪崩、缓存穿透、缓存击穿三种情况,但由于这三种情况的出现都基本只存在高并发的情况下,所以代码模拟实现还是太难了现在。后面索性先把JMeter这个压力测试软件先熟悉了,再去尝试缓存雪崩、穿透、击穿的模拟。

2023-11-23 21:38:06 465

原创 redis集群搭建配置

redis对应的配置文件为redis.windows.conf,对于一个简单的最基本的集群来说,我们需要应用的redis配置只需要以下几个,将以下内容覆盖到对应三个实例的.conf的配置文件中,注意把每个实例的端口号对应修改为6379,6380,6381。此时我们将三台实例的配置文件逐一修改好之后在一一启动之后,并且在把前面一步的ruby环境以及redis驱动以及集群创建工具配置好之后就可以切换到创建工具的安装目录下进行集群的创建了,命令如下,参数即对应我们本地刚刚启动的三台实例的ip以及端口号。

2023-11-19 22:33:56 308

原创 ES SSL证书配置

这里需要注意的是,因为我们这一篇中每一台ES node使用的都是同一份elastic-stack-ca.p12证书文件,所以在xpack.security.transport.ssl.verification_mode这个配置中我们使用的是certificate模式。而如果有为每一台ES节点生成单独的证书文件的需求的话,或者说需要为为每个主机生成与DNS或IP地址匹配的不同证书的话,需要把这个模式设置为full,full模式的详情可以参考官方文档。此文件包含CA的公共证书和用于为每个节点签署证书的私钥。

2023-11-13 23:15:07 1348 1

原创 ES查询(Java)

elasticsearch作为一种服务,可以通过多种方式进行连接查询,例如通过postman甚至浏览器直接使用查询语句查询,及通过kibana可视化界面进行数据查询管理,对于java来说也可以通过es的内置的elastisearchclient进行连接请求查询,本篇主要详解一下通过java的查询方式。

2023-11-08 23:45:45 1200 1

原创 ELASTICSEARCH CLUSTER 集群搭建总结

1.高可用对于所有集群来说都具备的一个高可用性,高可用性分为两种,一种是数据可用性,一种是服务 可用性。对于服务可用性来说,一个ES集群中可以存在多个ES NODE,每一个NODE对应一台服 务器,如果其中某一台因为某些元素出现了故障宕机,集群可以仍然使用剩余的NODE节点继续 提供服务,实现了服务高可用性;

2023-11-06 23:50:44 215

原创 Stripe订阅模式(类似于会员,按月按年自动扣款)

stripe订阅模式

2022-10-18 17:13:03 5648

原创 YOUTUBE API调用 JAVA

文章目录功能说明,依赖配置 代码实现一、youtube 依赖+ youtubeapikey功能说明:此youtubeapi 为https://www.googleapis.com/youtube/v3,通过单个youtube视频播放链接来获取此视频的其他一些具体参数,或者通过youtube合辑视频链接调用api后以获取到此合辑下的所有的视频的具体信息。 <dependency> <groupId>com.google.a

2022-04-22 17:19:06 3242 1

原创 Stripe 自动分账

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言 一、分账子账户设定 二、代码实现分账比例 三、提现前言stripe分账功能是在stripe支付功能的基础上实现的,实现方式分为两步。一、在stripe控制面板设定账户的分账子账户。二、代码设定的分账比例一、stripe控制面板设定子账户在stripe控制面板dashboard上进入‘连接’页面,点击右上角的创建可以创建新的子账户创建流程为,点击创建之后,选择所需要创建的账户类..

2022-03-31 16:17:07 2392 1

原创 JAVA接入STRIPE支付教程(测试环境),STRIPE支付的调用以及STRIPE WEBHOOK回调

JAVA接入STRIPE支付教程(测试环境),STRIPE支付的调用以及STRIPE WEBHOOK回调

2021-11-26 11:48:52 7833 16

空空如也

空空如也

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

TA关注的人

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