巧用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中的数据在数据库中进行查重,舍弃重复数据,这样我们的数据才会更加准确。
部分代码如下