Ich habe in letzter Zeit darüber nachgedacht, wie perfekt Redis für die Speicherung eines
einfachen sozialen Diagramms wäre. Ich ging davon aus, dass es relativ wenige Codezeilen sein würden
und dass es auch sauberer Code sein würde. Hier ist es also: ein grundlegender sozialer Graph, der auf Redis basiert Kurz gesagt, um Speicherplatz in Redis zu sparen. Self.FOLLOWS_KEY = 'F'. FOLLOWERS_KEY = 'f'. Self.BLOCKS_KEY = 'B' auf jeden Fall folgen (self, from_user, to_user):
forward_key = '%s:%s' % (self.FOLLOWS_KEY, from_user)
forward = self.ring.sadd(forward_key, to_user)
reverse_key = '%s:% s' % (self.FOLLOWERS_KEY, to_user)
self.ring.sadd(reverse_key, from_user) = reverse
return vorwärts und rückwärts
怎样用Redis存储好友关系-python版
def unfollow(self, from_user, to_user):
forward_key = '%s:%s' % (self.FOLLOWS_KEY, from_user)
forward = self.ring.srem(forward_key, to_user)
reverse_key = '%s:%s' % (self .FOLLOWERS_KEY, to_user) 从环中删除指定用户,操作后的环称为„umgekehrt“, 并返回删除的用户. „Python Removed_user = self.ring.srem(reverse_key, from_user) reverse = self.ring # 将删除操作后的环赋值给 reverse ```
vorwärts und rückwärts zurückkehren
def block(self, from_user, to_user):
forward_key = '%s:%s' % (self.BLOCKS_KEY, from_user)
forward = self.ring.sadd( forward_key, to_user)
reverse_key = '%s:%s' % (self.BLOCKED_KEY, to_user)
self.ring.sadd(reverse_key, from_user) = reverse
return vorwärts und rückwärts
def unblock(self, from_user, to_user):
forward_key = '%s:%s' % (self.BLOCKS_KEY, from_user)
forward = self.ring.srem(forward_key, to_user)
reverse_key = '%s:%s' % (self.BLOCKED_KEY, to_user) 从环中删除指定用户,操作后的环称为„umgekehrt“, 并返回删除的用户. „Python Removed_user = self.ring.srem(reverse_key, from_user) reverse = self.ring # 将删除操作后的环赋值给 reverse ```
vorwärts und rückwärts zurückkehren
def get_follows(self, user):
follows = self.ring.smembers('%s:%s' % (self.FOLLOWS_KEY, user))
blocked = self .ring.smembers('%s:%s' % (self.BLOCKED_KEY, user))
return list(follows.difference(blocked))
def get_followers(self, user):
followers = self.ring .smembers('%s:%s' % (self.FOLLOWERS_KEY, user))
blocks = self.ring.smembers('%s:%s' % (self.BLOCKS_KEY, user))
return list( follower.difference(blocks))
def get_blocks(self, user):
return list(self.ring.smembers('%s:%s' % (self.BLOCKS_KEY, user)))
def get_blocked( self, user):
return list(self.ring.smembers('%s:%s' % (self.BLOCKED_KEY, user)))
Das obige ist der detaillierte Inhalt vonSo verwenden Sie Redis zum Speichern von Freundschaftsbeziehungen in Python. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!