friendlydb on nopea ja pieni seuraava / seuraajia tietokanta kirjoitettu Pythonilla. & Nbsp; Se voi joko käyttää suoraan Python-koodin tai HTTP pieniä web API.
FriendlyDB ei ole tarkoitus olla täydellinen käyttäjän järjestelmä; sitä tulisi käyttää tehostamaan olemassa olevan järjestelmän seurata suhteita.
Käyttö
Käyttämällä FriendlyDB Python näyttää:
alkaen friendlydb.db tuonti FriendlyDB
# Anna Friendly hakemistoon työskennellä.
fdb = FriendlyDB ('/ usr / data / friendly')
# Grab käyttäjälle käyttäjätunnuksensa.
daniel = fdb ['daniel "]
# Seuraa pari käyttäjille.
daniel.follow ("Liisan")
daniel.follow ("Bob")
daniel.follow ('Joe')
# Tarkista seuraavat.
daniel.following ()
# Returns:
# [
# "Liisan",
# "Bob",
# "Joe",
#]
# Tarkista Joe seuraajia.
fdb ['Joe']. seuraajaa ()
# Returns:
# [
# "Daniel",
#]
# Älä.
daniel.unfollow ("Bob")
# Tarkista seuraavat.
daniel.following ()
# Returns:
# [
# "Liisan",
# "Joe",
#]
# Pyyhi pölyt ja ydinase kaiken kiertoradalla.
fdb.clear ()
Käyttämällä FriendlyDB HTTP näyttää (kaikki perään viiltää ovat valinnaisia):
# Yhdessä kuori, käynnistää palvelimen.
python friendlydb / server.py
# Vuodesta toiseen, ajaa joitakin URL-osoitteita.
kiemura -X GET http://127.0.0.1:8008/
# {"Version": "0.3.0"}
kiemura -X GET http://127.0.0.1:8008/daniel/
# {"Käyttäjänimi": "daniel", "seuraava": [], "seuraajia": []}
käpertyä -X POST http://127.0.0.1:8008/daniel/follow/alice/
# {"Käyttäjänimi": "daniel", "other_username": "Alice", "seuraa": true}
käpertyä -X POST http://127.0.0.1:8008/daniel/follow/bob/
# {"Käyttäjänimi": "daniel", "other_username": "bob", "seuraa": true}
käpertyä -X POST http://127.0.0.1:8008/daniel/follow/joe/
# {"Käyttäjänimi": "daniel", "other_username": "Joe", "seuraa": true}
käpertyä -X POST http://127.0.0.1:8008/daniel/unfollow/joe/
# {"Käyttäjänimi": "daniel", "other_username": "Joe", "unfollowed": true}
kiemura -X GET http://127.0.0.1:8008/daniel/
# {"Käyttäjänimi": "daniel", "seuraava": ["Alice", "bob"], "seuraajia": []}
kiemura -X GET http://127.0.0.1:8008/daniel/is_following/alice/
# {"Käyttäjänimi": "daniel", "other_username": "Alice", "is_following": true}
kiemura -X GET http://127.0.0.1:8008/alice/is_followed_by/daniel/
# {"Käyttäjänimi": "Alice", "other_username": "daniel", "is_followed_by": true}
kiemura -X GET http://127.0.0.1:8008/alice/is_followed_by/joe/
# {"Käyttäjänimi": "Alice", "other_username": "Joe", "is_followed_by": false}
Asennus
Käyttämällä PIP, voit asentaa sen pip asentaa friendlydb.
Suorituskyky
Voit laajuutta pois FriendlyDB suorituskykyä itse ajamalla mukana benchmark.py käsikirjoituksen.
Jos testit suoritetaan 2011 MacBook Pro (i7), benchmark käsikirjoitus osoitettu:
- Luonut 1000000 suhteita 10000 käyttäjää: 7,3 minuuttia
- Avg aika nouto käyttäjän seuraajia: 0.0008 sekuntia
- Koskaan yli 40MB RAM RSS
Juoksu Testit
friendlydb ylläpidetään kulkee testit aina. Yksinkertaisesti ajaa:
python -m unittest2 testejä
Vaatimukset :
- Python
- (valinnainen) gevent HTTP-palvelin
- (valinnainen) unittest2 käynnissä testejä
Kommentteja ei löytynyt