自定义博客皮肤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)
  • 收藏
  • 关注

原创 优惠券如何实现

在用户端设置了一个专门领取优惠券的窗口,可以不进行登录即可看到可手动领取优惠券,需要领取则需要进行登录;在使用优惠券时,我们要对优惠券先进行初步筛选,判断优惠券是否满足使用的门槛,先不关心券的适用范围,把不满足门槛的先筛掉再进行细筛,根据适用范围筛选,然后进行全排列筛选最优解。像定时发放的开始时间、领券的规定时间、固定时间使用优惠券和到期时间这些有时间差的我们都通过 MQ的延迟消息对列进行完成的。(3)优惠券的发放可以选择优惠券的发放的时间区间、优惠券的使用期限。立即发放即开始时间为当前时间到规定时间。

2024-01-28 20:13:11 342 1

原创 redis 实现分布式锁的

但是,除了第3步以外,其它都是非业务代码,对业务的侵入较多:非业务代码格式固定,每次获取锁总是在重复编码。问题:利用WatchDog(看门狗)机制,获取锁成功时开启一个定时任务,在锁到期前自动续期,避免超时释放。多线程争抢锁,大部分线程会获取锁失败,而失败后的处理方案和策略是多种多样的。目前,我们获取锁失败后就是直接抛出异常,没有其它策略,这与实际需求不一定相符。锁的重入问题:同一个线程多次获取锁的场景,目前不支持,可能会导致死锁。,获取锁时重入次数+1,释放锁是重入次数-1,次数为0则锁删除。

2024-01-22 20:58:31 926

原创 SpringCloud

分布式架构:松耦合,扩展性好,但架构复杂,难度大。:根据业务功能对系统做拆分,每个业务功能模块作为独立项目开发,称为一个服务。单一职责:微服务拆分粒度更小,每一个服务都对应唯一的业务能力,做到单一职责。单体架构:简单方便,高度耦合,扩展性差,适合小型项目。隔离性强:服务调用做好隔离、容错、降级,避免出现级联问题。自治:团队独立、技术独立、数据独立,独立部署和交付。面向服务:服务提供统一标准的接口,与语言和技术无关。①优点:拆分粒度更小、服务更独立、耦合度更低。微服务:一种良好的分布式架构方案。

2023-12-17 17:46:18 32 1

原创 liunx Centos7 安装redis

1.更新文件2.下载redis在官网下载 http://redis.io/3.上传/usr/local/redis4.安装c++环境 (redis 是基于c++的)使用 make 命令进行编译编译完成后,使用 make install 进行安装这里默认安装位置为:/usr/local/bin也可以通过 make install PREFIX=/usr/local/redis 指定安装目录。

2023-12-15 15:31:09 34

原创 自定义AOP

我们可以定义一个切面( Aspect ),在切面中定义一个方法,用于记录日志。然后在需要记录日志的方法上添加一个注解,告诉 AOP 框架这个方法需要被切入。3.定义切面类 LogAspect ,用切入点表达式@ annotation ( myLog ),注入 Logservice 的实现类,写一个@ Around 完成记录操作日志的逻辑。1.需要引入 AOP 的起步依赖﹣2.创建一个自定义注解@ MyLog 为其添加两个注解,并且在需要被记录的方法上添加自定义注解.。

2023-12-15 14:36:27 69

空空如也

空空如也

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

TA关注的人

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