分布式锁
本例将使用的场景模拟:商品秒杀,或者说高并发下,对于商品库存扣减操作。我用一个SpringBoot小项目模拟一下该操作。
本例用到的技术栈:
- SpringBoot
- Redis
- etcd
在正式肝代码之前,先来对etcd分布式锁实现的机制和原理做一个了解。
2025年06月10日
本例将使用的场景模拟:商品秒杀,或者说高并发下,对于商品库存扣减操作。我用一个SpringBoot小项目模拟一下该操作。
本例用到的技术栈:
在正式肝代码之前,先来对etcd分布式锁实现的机制和原理做一个了解。
2025年06月10日
基于springboot cloud构建的一个商城项目,包括前端,后端和h5应用,小程序,作为zscat应用实践的模板项目。基于SpringBoot2.x、SpringCloud和SpringCloudAlibaba并采用前后端分离的企业级微服务敏捷开发系统架构。并引入组件化的思想实现高内聚低耦合,[ 微信 + 支付宝 + 百度 + 头条 ] 小程序 + APP + 公众号 + PC + H5 项目代码简洁注释丰富上手容易,适合学习和企业中使用。真正实现了基于RBAC、jwt和oauth2的无状态统一权限认证的解决方案,面向互联网设计同时适合B端和C端用户,支持CI/CD多环境部署,积分商城,分销商城并提供应用管理方便第三方系统接入;同时还集合各种微服务治理功能和监控功能。模块包括:企业级的认证系统、开发平台、应用监控、慢sql监控、统一日志、单点登录、Redis分布式高速缓存、配置中心、分布式任务调度、接口文档、代码生成等等
2025年06月10日
SpringBoot整合Redis,需要引入
spring-boot-starter-data-redis依赖
2025年06月09日
场景
在项目开发中,我们经常会遇到去重问题。比如:判断一个人有没有浏览过一篇文章,判断一个人当天是否登录过某个系统,判断一个ip是否发过一个请求,等等。
比较容易想到的是使用set来实现这个功能。但如果数据量较大,使用set会非常消耗内存,性能也不高。在前面的文章中,我们介绍了一种数据结构:BitMap来提高性能。但BitMap仍然比较消耗内存,尤其是在数据比较稀疏的情况下,使用BitMap并不划算。
2025年06月09日
EasyCaching 是一个开源的缓存库,旨在简化缓存的使用和管理。它提供了多种缓存提供程序,包括内存缓存(InMem)ory)、Redis、Memcached 和 SQLite 等。其中,EasyCaching.InMemory 是基于内存的缓存实现,适用于本地缓存场景。
2025年06月09日
在用 Redis 之前,我以为它是缓存界的“唯一答案”。
直到有一天,线上服务频繁超时,Redis 内存飙涨,我才意识到: