Redis 中list的数据结构实现是双向链表,所以可以非常便捷的应用于消息队列(生产者 / 消费者模型)。消息的生产者只需要通过lpush将消息放入 list,消费者便可以通过rpop取出该消息,并且可以保证消息的有序性。如果需要实现带有优先级的消息队列也可以选择sorted set。而pub/sub功能也可以用作发布者 / 订阅者模型的消息。
目前项目中在2个地方用到了redis得队列 1.用户注册激活邮件发送 我们具体分析一下这个需求,发送邮件这个需求对于用户来说不需要那么强的实时性,因为用户还要去打开邮件或者登录邮件,等待几秒钟都是可以接受的,但用户注册之后完全可以在前端提示用户“邮件已发送”,不需要等待邮件真正发送之后再去提示,而是发到任务队列...
之前接手了一个项目,项目将 Redis 视为中间件,将相关的逻辑都封装在 xxxRedisService 中,包括 CRUD 和一些业务逻辑。随着项目的发展,一些其实可以归类到一起的业务,变得有些放在了 RedisService 中,一些放在了业务层的 Service 中,可想而知十分混乱,还导致了一些 BUG 的出现。 2.6、Service 和 Manager Service ...
我们通常使用Spring MVC来充当我们项目中的控制层,我们控制层的作用就是接受前台传递的参数,调用业务逻辑层进行业务处理以及将返回的结果集返回前台进行展示,首先我们要在web.xml中配置Spring MVC的前端总控制器DispatcherServlet并加载Spring MVC的配置文件,我们在Controller层上加上@Controller注解,使其充当控制层,并且要...
先说一下线程共享的有方法区、堆;线程独占的有程序计数器、本地方法栈、虚拟机栈;另外方法区的话,它是Java虚拟机的一个模型规范,然后具体实现的话是元空间和永久代,永久代是1.7的,然后1.8 之后永久代就被移除了,然后它就变成元空间了;元空间的话它是发布在计算机内存的,它是脱离了这个Java虚拟机内存的,它是...
其次,介绍项目中的技术栈,比如你使用的是什么框架,是ssm,还是springboot等,还有有没有用缓存框架redis,分布式是否有涉及,这些都需要介绍,最好简要的介绍一下用这些技术的原因,这样会让面试官感觉你对这个项目很熟悉,比如可以这样介绍。 我这个项目使用的框架是ssm,其中用到了activiti工作流框架,这是因为项目中有很多...
这里考察的是技术选型的严谨性和模块设计的合理性。如果项目用到了RabbitMQ、Redis、Kafka等一些技术,你...
5.你碰到了哪些问题?你是怎么解决的? 最大的问题还是设计问题,实现方面都还好,设计比较头疼。如果没有前期的项目恐怕还好一些,受影响太大了。剩下的比较突出的问题就是页面的东西了,业务只要需求理解了问题都不大,页面的脚本控制应该说是消耗时间比较多的地方。整个项目做了半年多,现在的页面jquery比以前强多了。
之前接手了一个项目,项目将 Redis 视为中间件,将相关的逻辑都封装在 xxxRedisService 中,包括 CRUD 和一些业务逻辑。随着项目的发展,一些其实可以归类到一起的业务,变得有些放在了 RedisService 中,一些放在了业务层的 Service 中,可想而知十分混乱,还导致了一些 BUG 的出现。