- 博客(14)
- 收藏
- 关注
原创 优惠券兑换码生成算法
兑换码是要给用户使用的,用户需要输入兑换码,因此可读性必须好。我们的要求:长度不超过10个字符只能是24个大写字母和8个数字:ABCDEFGHJKLMNPQRSTUVWXYZ23456789:优惠活动比较频繁,必须有充足的兑换码,最好有10亿以上的量:10亿兑换码都必须唯一,不能重复,否则会出现兑换混乱的情况:兑换码必须便于校验兑换状态,避免重复兑换:兑换码的规律性不能很明显,不能轻易被人猜测到其它兑换码:兑换码生成、验证的算法必须保证效率,避免对数据库带来较大的压力。
2024-09-10 20:06:30
2813
原创 如何保证RabbitMQ消息的可靠传输?
消息不可靠的情况可能是消息丢失,劫持等原因;丢失又分为:生产者丢失消息、消息列表丢失消息、消费者丢失消息;
2024-09-08 15:32:43
415
原创 Bean容器
在Spring框架中,Bean是由Spring IoC(Inversion of Control)容器管理的对象。这些对象通过配置文件(如XML文件)或注解(如@Component、@Service、@Repository等)定义,并由Spring容器实例化、配置和管理。Bean容器是Spring框架的核心组件,负责管理和维护应用程序中的Bean对象。通过配置文件或注解,开发者可以定义Bean及其依赖关系,由Spring容器负责实例化、配置和管理这些Bean。
2024-09-04 16:46:40
617
原创 Redis的持久化机制
Redis(Remote Dictionary Server)是一个开源的、基于内存的数据结构存储系统,它支持多种类型的数据结构,如字符串、哈希、列表、集合、有序集合等。尽管Redis主要在内存中运行,但它也提供了持久化机制,以确保数据在服务器重启或故障时不会丢失。
2024-08-25 14:42:32
390
原创 final和@Autowired以及@Resource的区别
final是一个Java语言的关键字,用于声明不可变的实体,与Spring框架无关。@Autowired是一个Spring框架的注解,用于实现依赖注入,与Java语言的不可变性无关。默认按照类型进行匹配,可以通过@Qualifier指定名称。@Resource是Java标准注解,默认按照名称进行匹配,找不到名称时会尝试按照类型匹配。
2024-08-25 14:26:50
662
原创 延迟任务(DelayQueue,JDK开发)
为了确定用户提交的播放记录是否变化,我们需要将播放记录保存为一个延迟任务,等待超过一个提交周期(20s)后检查播放进度。那么延迟任务该如何实现呢?
2024-08-25 11:50:48
674
原创 微服务(分布式事务,BASE,脏写,注册中心,远程调用)
SpringCloud的组件分类来讲的,主要包括:分布式事务注册中心远程调用服务保护等几个方面。
2024-08-17 20:56:51
1112
原创 Spring Cloud有哪些常用组件?分别是什么作用?
断路器模式的实现,能够在服务调用失败时快速返回,防止 cascading failures,增强系统的稳定性。声明式的 Web 服务客户端,可以简化 RESTful 服务的调用,结合 Ribbon 提供负载均衡功能。提供服务注册与发现的功能,允许微服务在运行时相互发现,从而实现负载均衡和故障转移。客户端负载均衡工具,能够自动选择可用的服务实例进行请求,支持多种负载均衡策略。分布式追踪工具,能够为微服务中的请求生成唯一的追踪 ID,便于监控和故障排查。
2024-08-17 14:52:25
437
原创 SQL中count()的区别
如果你只需要统计行数而不关心列中的 NULL 值,那么使用 COUNT(*) 或 COUNT(1) 是更合适的选择。COUNT(*) 和 COUNT(1) 都统计表中的所有行,包括那些含有 NULL 值的行。COUNT(1) 或 COUNT(常量) 也计算表中的所有行,与 COUNT(*) 类似。COUNT(*) 计算表中的所有行,无论这些行中的列是否有 NULL 值。在某些数据库系统中,COUNT(1) 和 COUNT(*) 的性能可能略有不同,但。它是最常用的统计行数的方式之一。
2024-08-14 14:34:24
393
原创 ElasticSearch 查询
query部分:原始查询条件,基于这个条件搜索文档,并且基于BM25算法给文档打分,得出原始算分(query score)- 算分函数:符合filter条件的文档要根据这个函数做运算,得到的函数算分(function score),有四种函数。"required_field_match": "false" //用来标记对非搜索字段高亮。- 复合(compound)查询:复合查询可以将上述各种查询条件组合起来,合并查询条件。"post_tags": "", // 用来标记高亮字段的后置标签。
2024-08-13 20:38:25
344
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人