首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Redis是如何实现点赞、取消点赞的?

点赞功能在很多系统中都有,但别看功能小,想要做好需要考虑的东西还挺多的。 点赞、取消点赞是高频次的操作,若每次都读写数据库,大量的操作会影响数据库性能,所以需要做缓存。...项目需求需要查看都谁点赞了,所以要存储每个点赞的点赞人、被点赞人,不能简单的做计数。...1.4 点赞数据在 Redis 中的存储格式 用 Redis 存储两种数据,一种是记录点赞人、被点赞人、点赞状态的数据,另一种是每个用户被点赞了多少次,做个简单的计数。...因为 Hash 里的数据都是存在一个键里,可以通过这个键很方便的把所有的点赞数据都取出。这个键里面的数据还可以存成键值对的形式,方便存入点赞人、被点赞人和点赞状态。...设点赞人的 id 为 likedPostId,被点赞人的 id 为 likedUserId ,点赞时状态为 1,取消点赞状态为 0。

3.3K50

Redis是如何实现点赞、取消点赞的?

点赞功能在很多系统中都有,但别看功能小,想要做好需要考虑的东西还挺多的。 点赞、取消点赞是高频次的操作,若每次都读写数据库,大量的操作会影响数据库性能,所以需要做缓存。...项目需求需要查看都谁点赞了,所以要存储每个点赞的点赞人、被点赞人,不能简单的做计数。...1.4 点赞数据在 Redis 中的存储格式 用 Redis 存储两种数据,一种是记录点赞人、被点赞人、点赞状态的数据,另一种是每个用户被点赞了多少次,做个简单的计数。...因为 Hash 里的数据都是存在一个键里,可以通过这个键很方便的把所有的点赞数据都取出。这个键里面的数据还可以存成键值对的形式,方便存入点赞人、被点赞人和点赞状态。...设点赞人的 id 为 likedPostId,被点赞人的 id 为 likedUserId ,点赞时状态为 1,取消点赞状态为 0。

2.6K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Redis是如何实现点赞、取消点赞的?

    点赞功能在很多系统中都有,但别看功能小,想要做好需要考虑的东西还挺多的。 点赞、取消点赞是高频次的操作,若每次都读写数据库,大量的操作会影响数据库性能,所以需要做缓存。...项目需求需要查看都谁点赞了,所以要存储每个点赞的点赞人、被点赞人,不能简单的做计数。...下面来对这5种数据结构类型作简单的介绍: 1.4 点赞数据在 Redis 中的存储格式 用 Redis 存储两种数据,一种是记录点赞人、被点赞人、点赞状态的数据,另一种是每个用户被点赞了多少次,做个简单的计数...因为 Hash 里的数据都是存在一个键里,可以通过这个键很方便的把所有的点赞数据都取出。这个键里面的数据还可以存成键值对的形式,方便存入点赞人、被点赞人和点赞状态。...设点赞人的 id 为 likedPostId,被点赞人的 id 为 likedUserId ,点赞时状态为 1,取消点赞状态为 0。

    2.5K20

    Redis 是如何实现点赞、取消点赞的?

    领读: 点赞是个频率比较高的事件,也不是特别重要的记录,使用缓存来存储还是比较合理的,另外像排行榜、热议等都可以使用缓存,先来看看点赞是如何实现的吧,详细代码可以clone看下哈,跟紧脚步,学技术~ -...点赞功能在很多系统中都有,但别看功能小,想要做好需要考虑的东西还挺多的。 点赞、取消点赞是高频次的操作,若每次都读写数据库,大量的操作会影响数据库性能,所以需要做缓存。...项目需求需要查看都谁点赞了,所以要存储每个点赞的点赞人、被点赞人,不能简单的做计数。...1.4 点赞数据在 Redis 中的存储格式 用 Redis 存储两种数据,一种是记录点赞人、被点赞人、点赞状态的数据,另一种是每个用户被点赞了多少次,做个简单的计数。...因为 Hash 里的数据都是存在一个键里,可以通过这个键很方便的把所有的点赞数据都取出。这个键里面的数据还可以存成键值对的形式,方便存入点赞人、被点赞人和点赞状态。

    7K64

    Redis 是如何实现点赞、取消点赞的?

    点赞功能在很多系统中都有,但别看功能小,想要做好需要考虑的东西还挺多的。 点赞、取消点赞是高频次的操作,若每次都读写数据库,大量的操作会影响数据库性能,所以需要做缓存。...项目需求需要查看都谁点赞了,所以要存储每个点赞的点赞人、被点赞人,不能简单的做计数。...1.4 点赞数据在 Redis 中的存储格式 用 Redis 存储两种数据,一种是记录点赞人、被点赞人、点赞状态的数据,另一种是每个用户被点赞了多少次,做个简单的计数。...因为 Hash 里的数据都是存在一个键里,可以通过这个键很方便的把所有的点赞数据都取出。这个键里面的数据还可以存成键值对的形式,方便存入点赞人、被点赞人和点赞状态。...设点赞人的 id 为 likedPostId,被点赞人的 id 为 likedUserId ,点赞时状态为 1,取消点赞状态为 0。

    2.9K10

    使用 Redis 如何实现点赞,取消点赞呢?

    点赞功能在很多系统中都有,但别看功能小,想要做好需要考虑的东西还挺多的。 点赞、取消点赞是高频次的操作,若每次都读写数据库,大量的操作会影响数据库性能,所以需要做缓存。...项目需求需要查看都谁点赞了,所以要存储每个点赞的点赞人、被点赞人,不能简单的做计数。...1.4 点赞数据在 Redis 中的存储格式 用 Redis 存储两种数据,一种是记录点赞人、被点赞人、点赞状态的数据,另一种是每个用户被点赞了多少次,做个简单的计数。...因为 Hash 里的数据都是存在一个键里,可以通过这个键很方便的把所有的点赞数据都取出。这个键里面的数据还可以存成键值对的形式,方便存入点赞人、被点赞人和点赞状态。...设点赞人的 id 为 likedPostId,被点赞人的 id 为 likedUserId ,点赞时状态为 1,取消点赞状态为 0。

    2.3K20

    微信朋友圈如何自动点赞

    不给别人点赞也没啥坏处,但你不评不赞,难免会让你和好友之间有些疏远,给别人点赞吧我又嫌麻烦,于是一直想着做个自动点赞的东西,今天基本实现了,虽然诸多不完整和诸多限制,但还是决定分享出来,主要是我觉得还挺好玩的...但是如何用程序自动执行,我在调试时遇到到了很多的问题,比如以下几个问题。   ...问题2:你如何定位点赞/评论按钮?   问题3:你如何判定一条朋友圈是否已经被点赞过了?   问题4:你每次滑动要滑多少?   针对这些问题来看看我的解决方案。...接下来点击这个点的坐标就可以调出点赞和评论了。   接下来就是如何区分出一条朋友圈是否已经被点过赞了。   ...最重要一条,不是所有的朋友圈都能点赞的,不是所有的人都能忍受你给他每条朋友圈都点赞的。

    6.3K21

    如何设计微博点赞功能数据库?

    一、如何设计微博点赞功能数据库? 明星的一条微博的点赞数可能有几十万,甚至百万以上。那么这个「点赞功能」(会记录谁点了赞),新浪微博的数据库是如何设计的呢?...概括一下:就是想弄明白「点赞」这种数据量庞大的功能,数据库是如何设计、保存的呢? 没设计过微博,也不懂新浪是怎么搞的,纯粹按照我们做流式监测项目的经验做一个设计思路。...首先每条微博你所看到的点赞总数肯定本地和后端分开,也就是你点赞后,本地加1,先保证你自己马上看到变化。...然后通过点赞事件的方式传递给队列中,肯定不会直接写关系数据库,一条流量明星微博,千万粉丝点赞,评论里再点赞的请求事件挺吓人的。...另外保证最近一周的微博点赞统计数都在内存里,例如用Redis,一周以上的微博点赞数据都在k-v库里,例如用Hbase。内存库和kv库可以做冷热数据交换。

    1.4K30

    如何用Redis高效实现点赞功能?用Set?还是Bitmap?

    在众多软件应用中,点赞功能几乎成了所有应用中的“标配”。但实现一个高效的点赞功能并不简单,尤其是在面对大规模的用户量和高并发场景时。...今天,我们就从实际需求出发,探索如何利用 Redis 的数据结构来设计一个点赞系统,从而理解 Set 和 Bitmap 数据结构的优缺点。...需求分析我们设定这样一个需求场景:在一篇文章的评论下实现点赞功能,每位用户只能对同一条评论点赞一次,再次点赞则视为“取消点赞”。此外,我们还需要统计每条评论的总点赞数。...点赞操作:当用户点赞时,将用户 ID 添加到该评论对应的 Set 中。取消点赞:如果用户再次点击,则从 Set 中移除用户 ID。统计总点赞数:直接获取 Set 的元素数量,即为当前评论的点赞总数。...检查用户是否点赞过:可以用 GETBIT 查询指定用户的点赞状态。

    20710

    用 Redis 如何实现微信亿级在线点赞系统?

    项目需求需要查看都谁点赞了,所以要存储每个点赞的点赞人、被点赞人,不能简单的做计数。...下面来对这 5 种数据结构类型作简单的介绍: ? 点赞数据在 Redis 中的存储格式 用 Redis 存储两种数据: 一种是记录点赞人、被点赞人、点赞状态的数据。...因为 Hash 里的数据都是存在一个键里,可以通过这个键很方便的把所有的点赞数据都取出。 这个键里面的数据还可以存成键值对的形式,方便存入点赞人、被点赞人和点赞状态。...设点赞人的 id 为 likedPostId,被点赞人的 id 为 likedUserId ,点赞时状态为 1,取消点赞状态为 0。...将点赞人 id 和被点赞人 id 作为键,两个 id 中间用 :: 隔开,点赞状态作为值。 所以如果用户点赞,存储的键为:likedUserId::likedPostId,对应的值为 1 。

    1.1K30

    QQ空间“点赞”的那些事儿 - 腾讯ISUX

    点赞,是空间小伙伴间最常用的互动表达方式。...点赞一按即可,不费心思,操作简单,随便就能给个赞;熟悉的人彼此支持一下,借此沟通感情,来个赞;点赞之后可以收获赞,被点赞后表示感谢也给别人来个赞;点赞表明“朕已阅”,等等。...大家通过点赞表达赞同,喜欢和祝福, 甚至用来表达调侃。 点赞的背后,反映出真实的自己。送出和收获的赞的多少,赞的对象偏好等,在某种程度能反映出你是怎样的人以及处于何种状态。...现在,就让我们用官方大数据来告诉你QQ空间点赞的那些事儿~ 感谢你的阅读,本文由 腾讯ISUX 版权所有,转载时请注明出处,违者必究,谢谢你的合作。

    5.4K30

    自部署 GitHub 风格的 Reactions 点赞功能

    前言 各路大佬用了各种方式实现了文章的点赞功能。 有的是博客系统自带的; 有的是评论系统集成的; 有的通过统计代码的 API 实现的; 有的通过第三方 SaaS 服务实现的。...虽然这个后端代码暂时没有提供初始化数据库的代码,不过通过源代码逆向出了初始化 Cloudflare D1 的命令。 Why this? 为什么选择了这个点赞功能呢。...这是模仿的 GitHub 的点赞功能的,基本上 1:1 还原了。 GitHub 即正义! 步骤 1. 部署后端(可选) 部署后端不是必需的,用官方提供的 API 就可以使用了。...[triggers] crons = [ ] 登录 Wrangler: wrangler login 在弹出的浏览器页面中,点 Allow 授权就可以了。...这个名称与克隆代码中的 package.json 文件中的名字对应,可自行选择是否修改。

    26820

    如何通过评论、点赞等行为信息进行数据挖掘?

    用户对产品有很多行为,如何进行用户行为分析来量化用户对产品的喜好程度呢? 比如豆瓣FM,用户可以点击“喜好”和"扔进垃圾箱"等;比如优酷视频,用户可以顶,踩,分享等。...、 我们如何通过这些行为信息分析用户对这首歌的喜好程度,对这个视频的评分是多少。 下面实例分析用户对视频的喜好程度。说到视频,我们可以联想到各种用户行为,看了多久,是否评论,是顶是踩,是否分享?...我们可以通过一条简单的公司来评估打分,score=w1*x1+w2*x2....... x1,x2等是行为指标,w1,w2等是行为权重。 行为指标:比如用户点了赞,给1分,分享了,给2分。...(PS:这里相当于领域专家打分,不知道是否通过建模的方法,有待探讨)。 行为权重:不同的行为,反映了用户的不同喜好程度,比如分享了比顶赞更重要。面对众多指标,如何合理地确定各权重呢?...对成对比较矩阵 的一致性要求,转化为要求: 矩阵的绝对值最大的特征值和该矩阵的维数相差不大。

    1.8K60

    Echo 的点赞模块是怎么做的

    点赞这个模块能讲的东西挺多的,它包含两个小模块: 1)实现点赞动作: 支持对帖子、评论/回复点赞 第 1 次点赞,第 2 次点击则取消点赞,并显示用户的点赞状态 2)查询获赞数量: 查询每篇帖子的获赞数量...查询每篇帖子和每个评论/回复的获赞数量 查询我的获赞数量 ?...Redis Key 规范 我们将点赞相关信息存入 Redis 中,关于 Redis 的配置这里就不说了。...like:entity:entityType:entityId,显然,like:entity 是不会变的,你可以把它理解为一个名为 like 的数据库下的 entity 表,value 即代表点赞用户...上面这条记录的意思就是 id = 11 的用户对实体类型 1 即帖子进行了点赞,该帖子的 id 是 246。

    73021

    微信的「好看」与知乎的点赞

    微信7.0改版,公众号文章的点赞变成了好看,点击好看会把文章推荐到「看一看」,还能在「看一看」与好友互动评论。...为什么说是日活9亿的知乎,因为一微信官方宣称日活跃用户是9亿,二因为知乎的点赞机制跟好看基本是一样的,知乎的点赞会把文章推荐到粉丝的关注页面,而公众号的好看则会推荐到好友「看一看」的好看页面。...之前看一篇文章说,之前的点赞是匿名的赞,我觉得好就点了,跟别人无关,而好看是公开的赞,点了别人也就知道了,公开就会有一些顾虑。...我倒持相反意见,我认为好看会激发用户的传播欲望,大家会迫不及待想让文章流动起来,而之前的点赞是因其无用,所以不点。...而最近观察各家公众号好看的数量也验证了我的看法,同个号不同文章相近的阅读数好看会比点赞多那么一点点,当然这个还需观察更长一段时间,说不点大家是因为新鲜感才点得多。

    76650

    【微信小程序】文章点赞功能的实现

    今日学习目标:第二十期——文章点赞功能的实现 ✨个人主页:颜颜yan_的个人主页 ⏰预计时间:15分钟 专栏系列:我的第一个微信小程序 ---- 文章目录 前言 效果图 实现步骤 总结...本期主要内容是文章点赞功能的实现。...每期内容是连载呢,建议大家可以看看往期内容,更好理解噢~ ---- 效果图 实现步骤 点赞功能的思路和上期收藏的思路是一样的噢~ 首先在接口中添加处理点赞操作的方法。...方法中添加当case为’up’的情况,并对upStatus进行判断,如果当前状态是未点赞,则当点击时,upStatus的状态变为true,同时数量增加;否则upStatus的状态变为false,同时数量减少...并在组件中添加响应用户点赞的方法。 添加响应用户点赞的方法,当用户点击点赞按钮后 ,该方法将调用接口中的up方法并将返回的最新数据使用this.setData更新。

    1.6K30

    刚刚,我们得到了小马哥的点赞!

    小马哥在朋友圈转发了腾讯官号的在腾讯,没人能不去“那个地方”! 听说这是一个让鹅厂员工闻风丧胆又欲罢不能的地方? ? 相信你翻到最后,你就会懂了!老板这是在公开点赞咱们乐享呀! ▼ ?...这次的导航改版是酝酿了很久,根据大家的反馈仔细去改进的!完美满足广大管理员“便捷美化首页”的愿望。 以前的手机自定义区块太麻烦!要创建表格、设置超链接,还要设置参数尺寸,现在不用啦!...为什么素材库里的区块没有出现在首页! 现在我们用素材库和手机端的显示区来一个演示: ? 素材库:相当于存放宝贝的地方,这里的区块都不显示在首页。...我们需要什么就从这里【拖动】到显示区,不需要的时候随时从显示区拖回来。 显示区:这里的区块在手机端首页上所见即所得,简单粗暴!...右上角新增了扫二维码看预览效果的按钮,随时随地都可以扫码查看自己即时自定义的效果,美滋滋!这个就是最后的效果啦 ? ? 还愣着干啥!赶紧去自定义吧~做好了分享给乐乐看下咯! ? ?

    88140

    Java多线程中的虚假唤醒和如何避免

    可以见到是交替输出的; 如果有两个厨师,两个食客,都进行10次循环呢?...虚假唤醒 上面的问题就是"虚假唤醒"。 当我们只有一个厨师一个食客时,只能是厨师做面或者食客吃面,并没有其他情况; 但是当有两个厨师,两个食客时,就会出现下面的问题: 初始状态 ?...此时厨师A得到操作权了,因为是从刚才阻塞的地方继续运行,就不用再判断面的数量是否为0了,所以直接面的数量+1,并唤醒其他线程; ? 7....此时厨师B得到操作权了,因为是从刚才阻塞的地方继续运行,就不用再判断面的数量是否为0了,所以直接面的数量+1,并唤醒其他线程; ? 这便是虚假唤醒,还有其他的情况,读者可以尝试画画图分析分析。...解决方法 出现虚假唤醒的原因是从阻塞态到就绪态再到运行态没有进行判断,我们只需要让其每次得到操作权时都进行判断就可以了; 所以将 if(num !

    1.1K10

    为什么程序员都吝啬自己的点赞?

    今天探讨一下看完一篇文章后,程序员为什么吝啬自己的点赞。 “拜托啦,这对我真的很重要。” 文章怎么才能阅读量高?...然后你需要在文章的内容上,起一个吸引人的标题,但不能为了点击率而不择手段,甚至欺骗读者,整出一些 UC 震惊体。 程序员点赞逻辑 程序员的点赞行为花里胡哨,但大致有下面几种场景: 看了一大半或看完了。...或者说文章没能让人眼前一亮的点,和其他文章没有太大区别,不能带给人启发。这种情况下,读者看完划走看下一个了。 上班摸鱼看到一篇不错的文章,不点赞。因为动态里会出现点赞时间,怕被领导发现。...看了点开头有点感兴趣,但刚好没空,就点赞做临时收藏用,mark 着晚点有空再看。 一些居心叵测的自媒体分子,坚持给一些大佬点赞混个眼熟。...以后自己的一篇文章写得好的话,大佬觉得不错点赞一下,你的文章就会加权重,阅读量就起飞了美滋滋。 白嫖非常爽,下次一定。不愿意付出任何成本的无情之人,白嫖为乐。

    23210

    独家 | 虚假疫苗网站如何获取你的个人信息

    作者: Lance Whitney翻译:陈超校对:王可汗 本文约1000字,建议阅读3分钟本文揭示了诈骗网站如何利用人们对新冠疫苗信息的关注获取用户的个人信息。...图片:马里兰州联邦检察官办公室 随着新冠疫苗的推广,网络罪犯已经开始设计网络钓鱼活动和虚假网站用于诈骗关注(疫苗)进展的人群。马里兰州近期关闭了一个仿造疫苗生产商来收集无辜用户个人信息的网站。...为了迷惑用户,网站还包括了一个可以选择所在城市的菜单和可以下载pdf到你的电脑的应用按钮。你需要填写pdf然后上传到网站,隐藏在背后的犯罪分子就可以捕获你的个人数据。...一个虚假的疫苗网站为不法分子提供了一系列潜在的社交工程计划,从免费提供疫苗供应到虚假的投资模式,”KnowBe4首席实验室研究员Eric Howes说。...此外,这一行动背后的各方要多久才能简单地建立另一个域名并继续他们的行动?” Howes称个人信息是网站的命脉,从合法的社交媒体平台到在线广告网络再到彻底的犯罪模式。

    65830
    领券