friendlydb yra greitai ir mažas taip / pasekėjai duomenų bazė parašytas Python, & nbsp;. Tai gali būti naudojamos tiesiai iš Python'o kodo arba per HTTP su maža Web API.
FriendlyDB nėra skirtas būti visiškai vartotojas sistema; ji turėtų būti naudojama plėsti esamą sistemą sekti santykius.
Naudojimas
Naudojant FriendlyDB iš Python atrodo taip:
nuo friendlydb.db importo FriendlyDB
# Duoti viešbučiai katalogą dirbti.
FDB = FriendlyDB ("/ usr / duomenų / draugiškos")
# Grab pagal jų vardą vartotoją.
Daniel = FDB ['Daniel']
# Sekite pora vartotojams.
daniel.follow ("Alisa")
daniel.follow ("Bob")
daniel.follow ("Joe")
# Patikrinkite šiuos.
daniel.following ()
# Grąžinimas:
# [
# 'Alice ",
# 'Bob',
# 'Joe',
#]
# Patikrinkite Joe pasekėjų.
FDB ['Joe']. pasekėjai ()
# Grąžinimas:
# [
# 'Daniel "
#]
# Nebestebėti.
daniel.unfollow ("Bob")
# Patikrinkite šiuos.
daniel.following ()
# Grąžinimas:
# [
# 'Alice ",
# 'Joe',
#]
# Dulkių išjungti ir Nuke viskas iš orbitos.
fdb.clear ()
Naudojant FriendlyDB iš HTTP išvaizda (visi svyruojančiosios nerijos ribos yra neprivaloma):
# Vienu lukštais, paleisti serverį.
python friendlydb / server.py
# Nuo kitą, paleisti kai URL.
garbanės -X GET http://127.0.0.1:8008/
# {"Versija": "0.3.0"}
garbanės -X GET http://127.0.0.1:8008/daniel/
# {"Vardas": "Daniel", "po": [], "pasekėjai": []}
susirangyti -X PO http://127.0.0.1:8008/daniel/follow/alice/
# {"Vardas": "Daniel", "OTHER_USERNAME": "Alice", "po": tiesa}
susirangyti -X PO http://127.0.0.1:8008/daniel/follow/bob/
# {"Vardas": "Daniel", "OTHER_USERNAME": "Bob", "po": tiesa}
susirangyti -X PO http://127.0.0.1:8008/daniel/follow/joe/
# {"Vardas": "Daniel", "OTHER_USERNAME": "Joe", "po": tiesa}
susirangyti -X PO http://127.0.0.1:8008/daniel/unfollow/joe/
# {"Vardas": "Daniel", "OTHER_USERNAME": "Joe", "unfollowed": tiesa}
garbanės -X GET http://127.0.0.1:8008/daniel/
# {"Vardas": "Daniel", "po": ["Alice", "Bob"], "pasekėjai": []}
garbanės -X GET http://127.0.0.1:8008/daniel/is_following/alice/
# {"Vardas": "Daniel", "OTHER_USERNAME": "Alice", "is_following": tiesa}
garbanės -X GET http://127.0.0.1:8008/alice/is_followed_by/daniel/
# {"Vardas": "Alice", "OTHER_USERNAME": "Daniel", "is_followed_by": tiesa}
garbanės -X GET http://127.0.0.1:8008/alice/is_followed_by/joe/
# {"Vardas": "Alice", "OTHER_USERNAME": "Joe", "is_followed_by": klaidinga}
Diegimas
Naudojant pip, galite įdiegti ją su pip įdiegti friendlydb.
Performance
Jūs galite sritį FriendlyDB našumą sau paleisdami įtraukti benchmark.py scenarijų.
Atliekant bandymus su 2011 MacBook Pro (i7), etalonas scenarijų įrodyta:
- Sukurta 1.000.000 santykius tarp 10.000 vartotojų: 7.3 min
- Vid laikas parsiųsti vartotojo pasekėjų: 0,0008 sekundžių
- Niekada neviršija 40MB RAM RSS
Running Testai
friendlydb yra palaikomas su artimųjų bandymus visais laikais. Tiesiog paleiskite:
python -m unittest2 testai
Reikalavimai :
- Python
- (neprivalomas) gevent už HTTP serverį
- (neprivalomas) unittest2 už važiavimo bandymus
Komentarai nerastas