使用redis实现互粉
最近在写api的时候要实现一个相互关注的功能,发现如果用mysql做查询不是很理想,
所以想能不能用redis来实现这个功能,网上一搜有很多实现的方法,结合网上的博文,实现了自己的功能。
1.数据库实现
一下是数据库的代码,通过保存用户的id和关注对象的id以及关注状态来判断用户的关注列
表和粉丝列表,通过联查获取用户的基本信息,入头像、名称。
'DROP TABLE IF EXISTS `shc_sns`;
CREATE TABLE `shc_sns` (
`sns_id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'id值',
`sns_frommid` int(11) NOT NULL COMMENT '会员id',
`sns_tomid` int(11) NOT NULL COMMENT '朋友id',
`sns_addtime` int(11) NOT NULL COMMENT '添加时间',
`sns_followstate` tinyint(1) NOT NULL DEFAULT '1' COMMENT '关注状态 1为单方关注 2为双方关注',
PRIMARY KEY (`sns_id`),
KEY `FROMMID` (`sns_frommid`) USING BTREE,
KEY `TOMID` (`sns_tomid`,`sns_frommi