本文介绍: Redis一个基于内存键值数据库,它的键都是字符串类型,而值的部分支持5种数据类型,每种类型特点不一样。POI的封装度较低,使用需要写大量的代码,并且性能比较低,同时它是对文档一次导入,容易导致内存溢出。具体的操作步骤就是:在查询列表时候,先判断Redis缓存是否数据,如果有,直接返回前端。EasyExcel封装比较高,使用起来比较方便,而且它是一条导入数据,不会导致内存溢出这个状态访问比较频繁,放在redis中,提高了查询速度的同时,可以减轻数据库访问压力。

8. 如何理解分组校验

  1. 很多情况下,我们会将校验规则写到实体类中的属性上,而这个实体类可能作为不同功能方法参数使用,而不同的功能对象参数对象中属性的要求是不一样的。比如我们新增修改一个用户对象时,都会接收User对象作为请求参数,但是新增要求对象id为空,而修改则要求id字段不能为空这个时候需要使用分组校验
  2. 分组校验其实就是定义多套校验规则,对于指定的功能,我们按照要求指定它使用哪套规则即可

9. Redis中有哪些数据类型

Redis一个基于内存键值数据库,它的键都是字符串类型,而值的部分支持5种数据类型,每种类型特点不一样

10. Redis在项目中的应用

我们项目中有两处地方用到了Redis,分别是:店铺营业状态标识小程序端的套餐、菜品列表数据

  1. 店铺营业状态标识,仅仅需要在redis保存一个0|1值即可这里之所以选择redis,有两个原因

    而没有采用数据库存储就是因为这个字段简单了,没有必要在数据库新建一张

    这个状态访问比较频繁,放在redis中,提高了查询速度的同时,可以减轻数据库访问压力

  2. 小程序端的套餐、菜品列表数据,由于小程序端以后的访问量比较大,所以采用Redis提高访问速度

    具体的操作步骤就是:在查询列表时候,先判断Redis缓存是否数据,如果有,直接返回前端

    如果没有,再去查询数据库,并将查询结果保存redis中的同时,再返回前端

    为了保证Redis和数据库数据实时一致性,在对数据库相关数据进行增删操作时,需要同时清理Redis中数据

11. SpringCache项目中的应用

SpringCache是Spring提供的一个缓存框架,它可以通过简单注解实现缓存操作我们常用注解有下面几个:

SpringCache还有一个有点,就是可以随意切换底层的缓存软件比如:Redis、内存等等

项目菜品和套餐列表的缓存用到了SpringCache

12. 微信支付流程

整个微信支付流程涉及到三个角色微信小程序服务端微信平台

  1. 首先,由小程序发起下单请求服务端服务端生成订单保存数据库后,将订单号返给前端
  2. 然后小程序会向服务端发起支付请求,这个请求中会携带着订单号
  3. 服务端根据订单号查询到订单信息后,开始调用微信下单接口从微信平台获取预支付交易标识
  4. 服务端需要将预支付交易标识进行签名之后组装成支付参数回传小程序小程序就会弹出支付窗口
  5. 用户通过小程序向微信平台付款,并可以获取到支付结果,进行显示
  6. 微信平台还会将订单支付结果推送我们后台程序后台程序需要修改订单状态

13. SpringTask项目中的应用

SpringTask是Spring框架提供的一种任务调度工具用来按照定义时间格式执行某段代码

它的一个关键注解是@Scheduled,此注解标注在方法上,用于设置方法的调用时机,它支持下面一些属性:

我们项目中,超时订单状态改变用到了SpringTask比如

14. cron表达式

cron表达式其实就是个字符串,通过cron表达式可以定义任务触发时间

SpringTask支持的cron表达式分为6个域,由空格分隔开,每个代表一个含义:秒 分 时 日 月 周

每个域都支持精准数值写法,也支持一些具有特殊意义的字符,主要的有下面这些:

*:表示任意

?:表示忽略,只能用在两个

-:表示区间

/:表示起始时间开始触发然后每隔固定时间触发一次

,:表示列出枚举值,例如域使用5,20则意味着在5和20分触发一次

#: 用于确定每个月第几个星期几

15. WebSocket对比HTTP

HTTP的通信是单向的,要先请求响应,类似于对讲机

WebSocket通信双向的、实时的,客户端服务端可以同时发消息,类似于手机通话

我们在项目中大部分场景下都是使用HTTP协议,只有在高实时场景下,建议使用WebSocket

项目在向商家提醒接单时,用户催单发送提醒时使用了webSocket

16. Excel有哪些技术方案

Excel技术方案有:ApachePOI和EasyExcel等,EasyExcel是在POI的基础上进行二次开发

POI的封装度较低,使用时需要写大量的代码,并且性能也比较低,同时它是对文档一次导入,容易导致内存溢出

EasyExcel的封装度比较高,使用起来比较方便,而且它是一条导入数据,不会导致内存溢出

在实际开发中,更倾向于使用稳定更好的方案,所以一般选择EasyExcel作为Excel的导入导出技术方案

原文地址:https://blog.csdn.net/qq_17462303/article/details/134675837

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任

如若转载,请注明出处:http://www.7code.cn/show_43680.html

如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱suwngjj01@126.com进行投诉反馈,一经查实,立即删除

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注