基于redis实现的点赞功能设计

前言

直接写入Mysql

redis存储随后批量刷回数据库

redis主要的特点就是快, 毕竟主要数据都在内存嘛; 另外为啥我选择redis而不是memcache的主要原因在于redis支持更多的数据类型, 例如hash, set, zset等。 下面具体的会用到这几个类型。

具体设计

同步刷回数据库

循环从post_set中pop出来一个post_id至到空 根据{$post_id} , 每次从post_user_like_set_{$post_id}中pop出来一个user_id直到空 根据post_id, user_id, 直接获取对应的hash表的内容(post_user_like_{$post_id}_{$user_id} 将hash表中的数据写入user_like_post表中

总结

解决了mysql读写的问题 但没有针对用户量较大的场景考虑分表的设计, 可以考虑针对user_id或者post_id进行分表 好了,以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言 交流,谢谢大家对我们的支持。

前言 直接写入Mysql redis存储随后批量刷回数据库 redis主要的特点就是快, 毕竟主要数据都在内存嘛; 另外为啥我选择redis而不是memcache的主要原因在于redis支持更多的数据类型, 例如hash, set, zset等。 下面具体的会用到这几个类型。 具体设计 同步刷回数据库 循环从post_set中pop出来一个post_id至到空 根据{$post_id} , 每次从post_user_like_set_{$post_id}中pop出来一个user_id直到空 根据post_id, user_id, 直接获取对应的hash表的内容(post_user_like_{$post_id}_{$user_id} 将hash表中的数据写入user_like_post表中 总结 解决了mysql读写的问题 但没有针对用户量较大的场景考虑分表的设计, 可以考虑针对user_id或者post_id进行分表 好了,以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言 交流,谢谢大家对我们的支持。
经验分享 程序员 微信小程序 职场和发展