巧用redis实现点赞功能,它不比mysql香吗?

首先我们来说一下两种方法各自的优缺点:我们以MySQL和Redis为例。

1、直接写入数据库:

优点: 这种方法实现简单,只需完成数据库的增删改查就行;

2、使用Redis缓存:

优点: 性能高,读写速度快,缓解数据库读写的压力;

•Redis 缓存设计 •数据库设计 •开启定时任务持久化存储到数据库

1、Redis缓存设计及实现

部分代码如下:

Redis存储结构如图

2、数据库设计

DROP TABLE IF EXISTS `user_like_count`;
CREATE TABLE `user_like_count`  (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `like_num` int(11) NULL DEFAULT 0,
  PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 7 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;

SET FOREIGN_KEY_CHECKS = 1;

3、开启定时任务持久化存储到数据库

我们使用Quartz来实现定时任务,将Redis中的数据存储到数据库中,为了演示效果,我们可以设置一分钟或者两分钟存储一遍数据,这个视具体业务而定。在同步数据的过程中,我们首先要将Redis中的数据在数据库中进行查重,舍弃重复数据,这样我们的数据才会更加准确。

部分代码如下

经验分享 程序员 微信小程序 职场和发展