聊聊项目中的缓存-2022新项目


  Web项目开发中,缓存一般都是少不了的,可以用来做各种事情,比如保存用户信息,提升数据库访问的效率,

用来加锁,等等。以前参与开发的项目中大多都是用来做这几件事情。当前参与开发的项目中,也在大量的使用

Redis缓存,不过缓存方式和之前的一些用法稍稍有些不同。下面就分开讲解当前项目中,各种缓存的真实使用场景。

.一.存储字典表数据:

子表数据是在项目中会被高频访问的数据,比如页面中使用的各种类型,像男女性别等等。不管是在页面中新增数据

时,还是在列表查询的时候,翻译查询的数据,会用到字典表。包括后台在做处理的时候,对各种类型的数据

进行校验等等,也会使用到字典表的数据。这时候对所有的字典表的数据做缓存,就很有必要了,因为这些数据被频繁

的访问,缓存在redis中之后,可以大大地提高访问效率。

.二.项目当中一个主表的数据。

项目当中的一个主表,在进行增、删、改、查的操作时,或者是在对与主表相关联的一系列的表进行新增、修改操作时,

都会访问主表中的数据,比如判断某条数据是否存在。因此也需要高频访问主表中的数据,这时候将主表中的数据缓存在

Redis中则很有必要。并且在缓存的时候,会根据不同的方式进行缓存,比如根据主键ID缓存,比如根据编号缓存等等。

首先是启动的时候缓存一次,之后缓存是使用一个定时任务去缓存,这样可以保证数据的有效性。

.三.首页的数据查询.

目前参与开发的这个项目首页的访问频率比较高,并且首页有很多的查询,如果同时有大量的查询进入,都去查询数据库的话,

那么效率将会变得非常低。因此我们的架构为首页构建了各种缓存,让首先查询的效率大大提高。比如主表查询的方式是按照

时间,类型来查询,排序方式是按照降序还是升序,都全部构建在缓存中了,这个数据可以考虑使用redis的list来进行构建。

包括在数据过滤的时候,需要将机构编码和其他的一些数据,都同时放入缓存中,以便快速获取然后进行处理。有的数据

存储的时候是使用hash()存储,这个是学到的新东西。

.四.需要定时任务处理的一些数据

有些数据是需要开启定时任务去定时处理的,这时候也可以将数据放在缓存中,不然时时从数据库中取,会非常消耗性能。

以上就是自己目前了解到的在项目中,哪些地方需要使用缓存的方式。如果各位小伙伴有更好的使用建议,欢迎留言。

原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/279439.html

(0)
上一篇 2022年8月8日
下一篇 2022年8月8日

相关推荐

发表回复

登录后才能评论