像CSDN的点赞功能只记录了数量,微信朋友圈的点赞功能有显示点赞人头像(获取userId查询用户信息封装返回即可)点赞、取消点赞是高频次的操作,若每次都读写数据库,大量的操作会影响数据库性能,甚至宕机,所以用缓存处理再合适不过。本文以文章点赞为例来展开叙述数据格式选择Redis有5种数据结构分别为:String(字符串)、List(列表)、Set(集合)、Hash(散列)、Zset(有序集合)。由
转载
2023-08-04 21:56:14
83阅读
目录一、点赞1、思路2、代码实现二、点赞排行榜1、思路2、代码实现一、点赞1、思路在我们的项目中我们有时候会碰到这样的需求,比如实现一个博客系统,当用户访问到这篇博客时可以进行点赞,那么这个功能如何去实现呢,我们可以在数据库中维护一张点赞表,当用户刚进入这个博客页面时拿着这个博客的id发起请求查询这张点赞表,看是否存在点赞记录,如果存在返回前端,前端获取到后将点赞按钮高亮色展示,当用户再次点击时则
点赞功能几乎是现在互联网产品的标配了,点赞存在的意思还是蛮有趣的为什么社交网站的评价功能多采用「点赞」的模式?。本文主要介绍本人工作中遇到的点赞需求以及使用redis的解决思路。第一种点赞需求是比较常规的点赞需求,类似于微博那种点赞模式,用户可以对某条信息点赞、取消点赞、查询是否点赞、被点赞次数等等;第二种点赞稍微特殊,用户可以在一天内对任意用户点赞,取消点赞后不可以再次对同用户点赞,第二天限制解
转载
2023-07-12 14:10:36
336阅读
摘要: 前言点赞其实是一个很有意思的功能。基本的设计思路有大致两种, 一种自然是用mysql等数据库直接落地存储, 另外一种就是利用点赞的业务特征来扔到redis(或memcache)中, 然后离线刷回mysql等。直接写入Mysql直接写入Mysql是最简单的做法。做两个表即可,1、post_like记录文章被赞的次数,已有多少人赞过这种数据就可以直接从表中查到;2、user_like
点赞系统设计点赞在社交类平台中,作为一个最常见的操作,每天会有成千上万的操作。如果每次都将操作写入数据库,那么对于数据库会形成很大的操作负担,因此,本文讲述如何通过Redis构件一个定时写入数据库的点赞功能。点赞操作存储在一个set中,key以review:ID作为标识,value记录了点赞人ID:操作(1点赞/0取消点赞),这样针对同一个set即代表了指定时间内所有对于这个评论的点赞或取消。另外
转载
2024-01-02 15:47:51
153阅读
点赞功能作为许多社交应用的核心功能之一,需要一定的性能和稳定性来支持用户的广泛交互。在这篇文章中,我将探讨为什么在实现点赞功能时使用 Redis 作为后端数据存储解决方案,涵盖多个层面,从版本对比到性能优化,直至生态扩展。
### 版本对比
在实现点赞功能时,不同的技术栈可以带来特性差异。通过对历史版本的追溯,Redis 的优势在多个版本中逐渐显现:
- **2012年**:Redis 2.
点赞功能,用 MySQL 还是 Redis ?点赞功能是目前app开发基本的功能今天我们就来聊聊 点赞、评论、收藏等这些场景的db数据库设计问题,我们先来看看场景的需求:显示点赞数量判断用户是否点过赞,用于去重,必须的判断显示个人点赞列表,一般在用户中心显示文章点赞列表我们先看一下头条和微博的例子点赞功能,用 MySQL 还是 Redis ?点赞功能,用 MySQL 还是 Redis ?这两个都是
转载
2023-11-07 20:06:03
69阅读
目录一、点赞直接写入Mysqlredis直接存储二、关注 一、点赞直接写入Mysql直接写入Mysql是最简单的做法。做两个表即可,post_like记录文章被赞的次数,已有多少人赞过这种数据就可以直接从表中查到;user_like_post记录用户赞过了哪些文章, 当打开文章列表时,显示的有没有赞过的数据就在这里面;缺点数据库读写压力大 热门文章会有很多用户点赞,甚至是短时间内被大量点赞, 直
转载
2023-07-09 23:40:31
89阅读
点赞功能随处可见,我们都知道点赞是一个非常高频的操作,redis就非常适合做这种工作。实现效果:分析:三种类型:给帖子点赞,给评论点赞,给回复点赞我们只实现查看点赞数量的话,只要一个int记录一下就可以,但是我们之后还想查看点赞的人,所以要把每一个点赞的信息都记录好,方便后面的功能继续做出来。思路:点赞:把点赞的信息放进去。取消:把点赞的信息删除。在此之前,我们要封装一个get到key的类,方便后
转载
2023-05-30 16:05:24
153阅读
# 如何实现“点赞为什么存入redis”
## 流程图
```mermaid
flowchart TD
A(用户点赞) --> B(调用API)
B --> C(写入数据库)
C --> D(写入Redis)
```
## 整体流程
1. 用户点赞
2. 调用API
3. 写入数据库
4. 写入Redis
## 具体步骤及代码示例
### 1. 用户点赞
用户
原创
2024-04-19 08:04:54
23阅读
Redis概述Redis是一种key-value型数据库,运行于内存中,与它相似的数据库有memcached,现在基本被Redis替代。 Redis适用场景我们要与传统的关系型数据库进行对比才能更好的了解与使用Redis1.高并发场景, redis是个单线程的程序对于纯内存操作如hash查找可达到每秒百万次的数量级。 比如说点赞这个业务,我们在redis中可以这样
转载
2024-10-12 22:03:29
62阅读
php&redis实现视频点赞这篇文章总结了我在项目中实现视频点赞的方法缓存 vs 数据库?首先按照传统思路会在数据库里面建个字段放点赞数量,但是仔细一想,访问数据量一大,频繁对一个字段访问,肯定会造成数据库堵塞,访问接口超时,严重的时候服务器会报404,这要是出现在线上,老板肯定会叼你一顿。闲话少说。 在一些特殊的场景下,传统的关系型数据库很可能无法满足我们的需求。比如,在访问量较大的情
转载
2023-09-03 00:45:32
172阅读
前言点赞、收藏功能作为常见的社交功能,是众多Web应用中必不可少的功能之一。而redis作为一个基于内存的高性能key-value存储数据库,可以用来实现这些功能。本文将介绍如何使用spring boot整合redis实现点赞、收藏功能,并提供前后端页面的编写代码。准备工作在开始之前,您需要进行以下准备工作:安装JDK安装Redis,并启动Redis服务安装Node.js和Vue.js,以便我们能
转载
2023-08-21 18:31:52
146阅读
本文主要介绍本人工作中遇到的点赞需求以及使用redis的解决思路。第一种点赞需求是比较常规的点赞需求,类似于微博那种点赞模式,用户可以对某条信息点赞、取消点赞、查询是否点赞、被点赞次数等等;第二种点赞稍微特殊,用户可以在一天内对任意用户点赞,取消点赞后不可以再次对同用户点赞,第二天限制解除,可以重新对同一玩家点赞(也就是说点赞是可以累加的),然后还有一个需求是要求可以实时查用户获赞次数全局的排行情
转载
2023-09-23 15:37:21
101阅读
# PHP+Redis 实例【一】点赞 + 热度这次的开篇,算是总结下这段时间来的积累吧,废话不多说,直接干!**前言**点赞其实是一个很有意思的功能。基本的设计思路有大致两种, 一种自然是用mysql(写了几百行的代码都还没写完,有毒)啦数据库直接落地存储, 另外一种就是利用点赞的业务特征来扔到redis(或memcache)中, 然后离线刷回mysql等。我这里所讲的功能都是基于我之前的项目去
转载
2023-09-21 13:09:30
54阅读
前言点赞其实是一个很有意思的功能。基本的设计思路有大致两种, 一种自然是用mysql等数据库直接落地存储, 另外一种就是利用点赞的业务特征来扔到redis(或memcache)中, 然后离线刷回mysql等。直接写入Mysql直接写入Mysql是最简单的做法。做两个表即可,1、post_like记录文章被赞的次数,已有多少人赞过这种数据就可以直接从表中查到;2、user_like_post记录用户
转载
2023-08-22 15:58:26
57阅读
在上一节STEP9.2 Redis安装中,我们已经把Redis安装好了。本节我们来结合SpringBoot和Redis来做一个简单的项目实践:实现点赞业务。先讲一下我们的背景:我们知道“点赞”是现在许多网站、app都支持的功能。尤其是一些大型平台,例如微博,可能一个热帖在一小时内就能飙升几十万甚至几百万的点赞量。而一次点赞,也就是对服务器的一次修改数据(修改赞数)的请求。而赞数存在我们的MySQL
转载
2023-08-21 09:42:03
755阅读
public void likeArticle(Long articleId, Long likedUserId, Long likedPostId) {
validateParam(articleId, likedUserId, likedPostId); //参数验证
logger.info("点赞数据存入redis开始,articleId:{},likedUserId:{
转载
2023-07-04 15:43:59
105阅读
点赞是我们现在经常见到的一个效果,如朋友圈、微博都有点赞的效果,下面这篇文章主要跟大家分享了基于 redis实现的点赞功能设计思路的相关资料,文中介绍的非常详细,对大家实现点赞功能具有一定的参考学习价 值,需要的朋友们下面来一起看看吧。前言点赞其实是一个很有意思的功能。基本的设计思路有大致两种, 一种自然是用mysql等 数据库直接落地存储, 另外一种就是利用点赞的业务特征来扔到redis(或me
转载
2023-08-20 19:42:02
89阅读
最近在做一个简单的发帖小程序,涉及到点赞功能,起初以为很简单,后面才发现难点在于如何记录用户对该文章的点赞状态,避免下次打开点赞状态失效。先来看效果图: 经过百度半小时,发现可以用到小程序的缓存来解决这个问题,新建一个缓存对象 likeCollection// 先从本地缓存中获取该对象,如果没有就新建一个空对象给它(说明用户是首次进入小程序)
let likeCollection = wx.get
转载
2023-11-20 11:37:53
86阅读