自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 消失的Redis Key

很多场景下我们需要限制用户的操作频率,或者保证一段代码的幂等性。例如在前者的场景下,若用户在1秒内对接口发起同样的请求,即只放过第一个请求,而在这一秒内的后续请求视为无效请求,系统直接给用户提示“您的操作过快,请稍后再试”。后者场景则多见于写操作接口或具有写操作逻辑的MQ消费中。虽然我们能够使用限流器或更复杂的控制逻辑,但在大多数简单场景下,可以利用redis的setNX配合一个合适的key过期时间即可满足上述需求。为什么呢?简单来说,上述场景就是一个简单的互斥逻辑,或者说是一个简单的上锁逻辑。redi

2020-12-04 16:33:29 662 1

原创 在MacOS下为2K显示器开启HiDPI

1. 为啥要开HiDPI简单来说,MacOS系统内有一套让显示效果变得很细腻的技术,即HiDPI。对于【外接显示器】来说,系统只对4K及以上分辨率的显示器开启这种渲染模式,其感官就是,显示效果很细腻,和MacBook Pro上的原装屏一样清楚。而2K显示器则不会自动开启,显示文字会比较小,且有轻微的毛边(如果看惯了视网膜屏,这个毛边是一眼就能看出来的)。2. 我需要看这篇教程吗?如果你在用MacOS系统(正经的Mac或黑苹果),手头有一台2K显示器,且不想再花钱买4K显示器,那么这篇教程很适合你。

2020-06-20 11:03:43 10996 5

原创 自己动手写RateLimiter

1. 背景-什么是限流?限流,顾名思义,其目的就是要限制流量,将其控制在一个合理的范围内,以免大流量对网络或服务器造成压力。为了达到限流的目的,可以从两个方向着手:限制【速率】通过控制请求资源的速率,来达到限流的目的。如限制每个访问资源的请求间的时间间隔为200ms。限制【数量】通过限制允许落到资源上的请求的个数来达到限流的目的。比如我们限制1秒内只允许该资源被请求5次,则QPS=5.这两种方式的区别或联系如下:限制速率,通常是将请求达到资源的速度变为匀速,或者说,每个到达资源

2020-05-25 17:36:20 545

原创 HashMap你想要的全在这了

1. HashMap1.1 什么是HashMapHashMap的本质是一个“Map”,因为它实现了Map接口。那么什么是Map呢?An object that maps keys to values. A map cannot contain duplicate keys; each key can map to at most one value.Map表示的是使key和value二...

2020-04-11 15:55:46 487

原创 理解布隆过滤器并不难

布隆过滤器(BloomFilter)1. 布隆过滤器(BloomFilter)1.1 介绍1.2 数据结构1.3 运行过程1.4 小节2. 布隆过滤器的实现2.1 Guava BloomFilter2.1.1 构造过滤器2.1.2 使用过滤器2.2 Redis BloomFilter2.2.1 自己实现2.2.2 Redisson实现3. 应用场景4. 问题1. 布隆过滤器(BloomFilte...

2020-04-05 10:19:59 748

空空如也

空空如也

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

TA关注的人

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