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

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

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

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

..存储字典表数据:

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

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

也会使用到字典表的数据。这时候对所有的字典表的数据做缓存,就很有必要了,因为这些数据被频繁的访问,存放redis

中之后,可以大大地提高访问效率。

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

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

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

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

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

..首页的数据查询.

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

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

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

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

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

 

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

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

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

posted @ 2022-08-07 23:36  一只爱阅读的程序员  阅读(94)  评论(0编辑  收藏  举报