首页 > 其他分享 >项目当中 签到功能 +多级缓存+介绍一下点赞功能

项目当中 签到功能 +多级缓存+介绍一下点赞功能

时间:2024-03-19 23:30:34浏览次数:24  
标签:缓存 签到 数据库 多级 radis 点赞

签到是怎么做的?

刚开始想用数据库做来着,后来发现用数据库数据量太大,就找解决方案,想到了用bitMap 位图。

bitMap 位图是什么  ?

我们采用的是radis 里的bitMap结构  他本质是字符串  最大512mb

是使用01 来存储的一种方式

为什么?

节省空间  我们采用的是 一个人一个月 的签到记录放进一个单独的key里面

最多也就31bit  签到这个业务 只有签到和未签到 两张状态  所有才用 bitmap

什么是多级缓存?

多级缓存就是  本地缓存+radis缓存形成的多级缓存

流程是 : 先访问本地缓存 没有就访问radis缓存 在没有 就访问 数据库

好处点是什么?

相对应radis来说 响应速度更快  并且没有网络带宽消耗 

缺点是什么 ?

由于是本地缓存  所以在分布式环境下  很难同步 

项目中有没有用到  ??

有啊  

是分类数据 

为什么是分类数据 ?

因为分类数据 不经常变化 数据量不能太大 一般百万级别

你们是用什么框架 做的?

咖啡因  性能遥遥领先 经过Spring洗礼 容错性也好

介绍一下点赞功能?

点赞是一个独立 通用模块   原因是我们这个系统 有好几个地方都用到 点赞  所以 我呢就想着 把他设计独立一些   其次 点赞是一个高频接口  所有要保证这个接口能够应对高并发  还有数据安全能得到保证  

 所有用到了radis相关存储数据  

set 用来存储点赞记录 

zet用来存储点赞次数 

为什么要用到这两个结构?

set存储点赞记录  是利用 set天然去重性  所有value 是用户id

使用zset 原因 是 我们采用了合并写思路  原因是 点赞功能是一个比较简单操作数据库过程 

所有就先把这个数据存储在radis 中  在通过定时任务去修改  数据库

最后由于点赞  数量的这个值是存在各个微服务里 ,又由于我的点赞 是一个独立的微服务 ,所以我采用mq来做异步通知 的方式来降低两个模块之间的耦合

标签:缓存,签到,数据库,多级,radis,点赞
From: https://blog.csdn.net/eeeeeeeeei/article/details/136855117

相关文章

  • 缓存穿透、缓存击穿、缓存雪崩
    缓存穿透缓存穿透指的是请求的数据在缓存中不存在,并且也不存在于数据库中,每次请求都落到了数据库上,导致数据库压力增大。举例:现在你有一家书店,书分别存放在书架(缓存)和仓库(数据库)中。一本书在书架上和仓库里都不存在,但是总是有人来找这本书,导致你每次都需要去仓库中寻找。......
  • Springboot+Redis:实现缓存 减少对数据库的压力
    ......
  • 如何使用缓存来提高Web应用的性能?
    一、如何使用缓存来提高Web应用的性能? 使用缓存是提高Web应用性能的一种有效方法。缓存可以在多个层面上实现,包括浏览器缓存、代理服务器缓存、数据库查询缓存以及应用层面的缓存等。以下是一些关于如何使用缓存来提高Web应用性能的建议:浏览器缓存:通过设置HTTP缓存头(如Ca......
  • 《优化接口设计的思路》系列:第九篇—用好缓存,让你的接口速度飞起来
    一、前言大家好!我是sum墨,一个一线的底层码农,平时喜欢研究和思考一些技术相关的问题并整理成文,限于本人水平,如果文章和代码有表述不当之处,还请不吝赐教。作为一名从业已达六年的老码农,我的工作主要是开发后端Java业务系统,包括各种管理后台和小程序等。在这些项目中,我设计过单/多......
  • androidui开发框架,,三级缓存框架问题你都了解了吗
    面经分享第一部分是我前端面试的经验总结,第二部分是我认为比较有思考空间的题目经验总结一份漂亮的简历,需要包括以下部分(排版由上而下)个人亮点(专精领域,个人博客,开源项目)教育经历(毕业院校,在校经历、荣誉)工作经历(实习)项目经历专业技能扎实的前端基础,比如你知道<......
  • Redis作为缓存,MySQL数据库如何与Redis保持一致性(双写一致性)?
    Redis作为缓存,MySQL数据库如何与Redis保持一致性(双写一致性)?双写一致性:​ 修改了数据库中的数据的同时,也要更新缓存的数据,保证数据库和缓存中的数据保持一致。请求数据的执行流程:​ 请求去访问Redis,如果Redis缓存中有数据则返回数据,如果Redis缓存中没有数据则去查数据库,数......
  • 聊聊CDN、缓存插件、网站速度优化
    导语        对于网站速度优化这一永恒的话题,作为一名老站长,我的最新建议是,在现今的网络环境下,最大限度地利用CDN(ContentDeliveryNetwork)服务已经成为提升网站性能的必备策略之一。尤其是在确保前端页面快速载入方面,CDN通过在全球范围内分布的服务器节点缓存静态......
  • Redis缓存和MyBaits整合
    目录一.基础知识1.Redis缓存2.特点二.使用Redis1.下载redis2.安装RedisDesktopManager软件3.连接Redis三.Redis缓存和MyBaits整合1.加入依赖2.配置文件3.配置类4.创建数据库和实体类5.使用四.练习一.基础知识1.Redis缓存缓存(*Cache),就是数据交换的*缓......
  • arp动态表缓存清除
    一、arp表里清除表状态:1,Delay:请求arp2,Reachab:响应arp3,Stale此状态下,待gc_stale_time超时后,准备gc_interval定期清理二、限制条件base_reachable_time:后变为Stalegc_thresh1:数量限制gc_stale_time:时间限制gc_interval:定期间隔三,测试在断开连接,经测试发现即使......
  • 华为OD机试 C++ -文件缓存系统
    文件缓存系统前言:本专栏将持续更新互联网大厂机试真题,并进行详细的分析与解答,包含完整的代码实现,希望可以帮助到正在努力的你。关于大厂机试流程、面经、面试指导等,如有任何疑问,欢迎联系我,wechat:steven_moda;email:[email protected];备注:CSDN。题目描述请设计一个文件缓......