从RDBMS彻底的过渡到NoSQL,关键的是不是NoSQL中的Key设计咧?比如原先的登录注册,RDBMS中可能是user_id,username,password1,user,xxxxxxxx2,user2,xxxxxxxx过渡到Redis,可以这样users:userpasswordusers:user2password检测用户是否已经注册RDBMS:selectcount(*)fromtablewhereusername='user2'Redis:Getusers:user2但是抛弃“关系”又怎么实现“关系”呢?比如用户还有profile。redis可以以users:username为key。然后存个对象进去。但是怎么进行搜索呢?比如,我要获取所有注册时间在指定时间的一批用户。当然,可以按照users:username:profile_name挨个存,比如:users:user2:profile_photo/path/hash.jpgusers:user2:profile_regdatetimestampusers:user3:profile_regdatetimestamp但是,会不会出现,删除某用户的时候,由于特殊原因导致删不干净的问题……比如user3的所有数据正在删除,然后异常了,导致profile_regdate没有删除。而且以后也检测不到了。再者,好友关系。redis可以这么存:relation:uid:fuidtimestamprelation:fuid:uidtimestamp假设需求:获取我的好友的所有除我以外的所有好友。暂时就这么多……不知道表述是否清楚了。
慕的地6264312
胡子哥哥
相关分类