Post on 01-Jul-2015
description
Redis ( 2 )Merancang database sederhana
ReviewSebelumnya kita telah belajar : ● instalasi redis● command line redis● tipe data redis
Merancang DatabaseDatabase untuk aplikasi microblogging sederhana ( retwis
https://github.com/raphaelcm/Retwis-w-Predis )
Database mampu meyimpan dan menunjukkan bahwa user bisa saling memfollow dan user bisa memposting feed
Nanti bisa dikembangkan lebih lanjut
Struktur databaseData tidak disimpan dalam tabel, lalu bagaimana cara merancangnya?
Bisa kita bayangkan data-data tersebut seperti kolom yang terpisah
Jangan terlalu terpaku pada konsep tabel
Panduanvalue di string redis bersifat binary safe ( bisa berisi string, integer, teks,
gambar )
untuk penamaan key gunakan tanda : agar seolah2 key terlihat seperti “folder”
gunakan aplikasi viewer redis seperti Redis Desktop Manager untuk memudahkan manajemen database dan melihat “gambaran” keseluruhan struktur database
UserPerintah redis untuk membuat usernameINCR global:nextUserId => 1000 ( mirip auto increment )
SET uid:1000:username antirez
SET uid:1000:password p1pp0Redis tidak bisa mengambil ID dari set username maka :SET username:antirez:uid 1000
Untuk mencatat id yang pernah dibuat. tipe data setglobal:users => 1
followers & following
karena tiap user bisa memfollow dan difollow lebih dari satu orang, maka key
followers dan following memakai tipedata himpunan
uid:1000:followers => 1 ( ID semua user yang memfollow )
uid:1000:following => 1 ( ID semua user yang difollow )
Postmengetahui ID post yang akan dibuatglobal:nextPostId => 1
memuat ID post. tipe data listuid:1000:post => 1
memuat id post, tanggal, dan isi posting. tipe data stringpost:1 => 1|139485858|ini posting
Post lanjMemuat ID post yang pernah dibuat. tipe data listglobal:nextPostId => 1
Auth
● Ambil username dan password
● cek ID apakah ada
● cek password apakah cocok
● kalau cocok cek value auth sebagai auth cookie
SET uid:1000:auth fea5e81ac8ca77622bed1c2132a021f9
SET auth:fea5e81ac8ca77622bed1c2132a021f9 1000
Function● Register ( register.php )● Login ( login.php )● Buat post ( post.php )● Follow user ( follow.php )
Referensihttps://github.com/raphaelcm/Retwis-w-Predishttps://github.com/nrk/predis/wiki/Release-Notes-v0.6.6http://redis.io/topics/twitter-clone
SEKIAN DAN TERIMA KASIH