最新资讯

您现在的位置: 首页 > 动态 > 文章正文动态

    redis数据类型(Redis缓存是针对于业务数据缓存还是对数据库数据缓存)

    发布时间:2022-10-25 23:39 点击:

      我们在BAT里做平台开发的工程师,已经越来越离不开Redis了。

      我们用redis主要就是代替memcached,来做缓存。

      从功能上,redis既可以做业务数据的缓存,也可以做数据库缓存,接下来我来分别介绍。

      数据库缓存

      目前大多数场景都是使用redis做数据库缓存。举个例子,一个任务的创建首先要写入数据库,从而得到一个id,然后这个任务要去执行。执行过程中可能要多次读取修改这个任务的某些字段,比如修改状态字段,执行者字段,用户频繁轮训这个任务状态等等,如果这个过程频繁去读写数据库无疑容易给MySQL带来额外的负担,那这种场景就非常适合引入redis作为缓存。在数据写入MySQL后,把这个数据同样写入redis,然后在这个任务彻底完成之前,所以读过程都在redis中实现,如果用户轮询这个任务的状态,那么直接从redis中将任务状态读取给他就好了,这样就减少了MySQL的读压力。

      但是要注意的是,redis只是作为缓存,当任务发生不一致的情况时,一切要以MySQL中的数据为准,举例期间redis宕机了(虽然很少发生),那么要有相应的备案,将MySQL中的数据重新load进redis。

      业务数据缓存

      由于redis强大的读写能力,我们也可以将一些业务数据缓存在redis。

      举例,我们有个场景,一个平台多个场景需要动态的调整某些参数的阈值。每次都修改代码里的阈值,再重启服务器的话这个代价实在是太大了。这种时候不妨将阈值从内存中读取改为去redis中读取。这样每次要修改阈值,直接去redis中修改对应的数据就好了,即修即生效,免去了重启服务器的代价。

      redis本身作为工具,提供的是能力,而不应该被限制场景。

      综上,利用redis强大又快速的读写能力,我们既能实现数据库缓存也能实现业务数据缓存。

      以上是我的浅见,欢迎各位在下方点赞,评论与我交流。

      我是苏苏思量,来自BAT的JAVA开发工程师,每日分享科技类见闻,欢迎关注我,与我共同进步。

      上一篇:十大美白祛斑排行榜(有什么有效的祛斑美白产品推荐吗)

      下一篇:王者荣耀1688皮肤排行(王者荣耀:最新1688传说皮肤官宣,6元皮肤上架夺宝,13888新英雄敲定,怎么评价)

十大美白祛斑排行榜(有什么有效的祛斑美白产品推荐吗) 明日方舟新手攻略(求大佬讲一下明日方舟这个游戏怎么玩) 海底世界画画大全图片(以“鲸鱼”为题目的《海底世界》简笔画 毕业证网上查询系统(大学毕业证网上怎么查) 百度浏览器网址(不想用百度了,有没有其他好用的搜索网站) 话务员是什么工作(话务员销售是怎么样的工作) 带字图片霸气(柒字图片霸气) 火影忍者手游长门(《火影忍者》手游,我长门70片了,后续有什 电动车后轮转着很沉(电动车后轮摇着沉) tonight什么意思(tonight前面用什么介词)