Python에서 Redis를 사용하여 친구 관계를 저장하는 방법

WBOY
풀어 주다: 2023-05-27 15:19:20
앞으로
1111명이 탐색했습니다.

  저는 최근 Redis가

  간단한 소셜 그래프를 저장하는 데 얼마나 완벽한지 생각해 보았습니다. 나는 그것이 상대적으로 적은 줄의 코드일 것이라고 가정했고,

  또한 깨끗한 코드일 것이라고 가정했습니다. Redis를 기반으로 구축된 기본 소셜 그래프입니다.

  """

  class FriendGraph(object):

  def __init__(self, ring):

  self.ring = ring

  # 이 키는 의도적으로 짧게, redis

  self.FOLLOWS_KEY = 'F'

  self.FOLLOWERS_KEY = 'f'

  self.BLOCKS_KEY = 'B'

  self.BLOCKED_KEY = 'b'

  def 팔로우 (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

  정방향 및 역방향 반환

  怎样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)

하단면是一种중복형 방약: 从环中删除指 정용 용도는 "역방향"을 사용하는 것입니다. ``파이썬 제거된_사용자 = self.ring.srem(reverse_key, from_user) reverse = self.ring # 将删除操작품后的环赋值给 reverse ```

  정방향 및 역방향 반환

  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

  정방향 및 역방향 반환

  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)

하단면은 다음과 같습니다. 从环中删除指 정용 용도는 "역방향"을 사용하는 것입니다. ``파이썬 제거된_사용자 = self.ring.srem(reverse_key, from_user) reverse = self.ring # 将删除操작품后的环赋值给 reverse ```

  정방향 및 역방향 반환

  def get_follows(self, user):

  follows = self.ring.smembers('%s:%s' % (self.FOLLOWS_KEY, user))

  blocked = self .ring.smembers('%s:%s' % (self.BLOCKED_KEY, 사용자))

  반환 목록(follows.difference(차단됨))

  def get_followers(self, 사용자):

  followers = self.ring .smembers('%s:%s' % (self.FOLLOWERS_KEY, 사용자))

  blocks = self.ring.smembers('%s:%s' % (self.BLOCKS_KEY, 사용자))

  반환 목록( Followers.difference(blocks))

  def get_blocks(self, user):

  return list(self.ring.smembers('%s:%s' % (self.BLOCKS_KEY, user)))

  def get_blocked( 본인, 사용자):

  반환 목록(self.ring.smembers('%s:%s' % (self.BLOCKED_KEY, 사용자)))

위 내용은 Python에서 Redis를 사용하여 친구 관계를 저장하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:yisu.com
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!