Dokumen tersebut merangkum cara merancang database sederhana untuk aplikasi microblogging menggunakan Redis. Struktur databsenya menyimpan data pengguna, postingan, pengikut, dan yang diikuti menggunakan berbagai tipe data Redis seperti string, list, dan set. Panduan ini membahas penamaan kunci dan cara menyimpan berbagai entitas data seperti pengguna, postingan, otorisasi, dan hubungan antar pengguna.
3. Merancang Database
Database 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
4. Struktur database
Data tidak disimpan dalam tabel, lalu bagaimana cara merancangnya?
Bisa kita bayangkan data-data tersebut seperti kolom yang terpisah
Jangan terlalu terpaku pada konsep tabel
5. Panduan
value 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
6. User
Perintah redis untuk membuat username
INCR global:nextUserId => 1000 ( mirip auto increment )
SET uid:1000:username antirez
SET uid:1000:password p1pp0
Redis tidak bisa mengambil ID dari set username maka :
SET username:antirez:uid 1000
Untuk mencatat id yang pernah dibuat. tipe data set
global:users => 1
7. 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 )
8. Post
mengetahui ID post yang akan dibuat
global:nextPostId => 1
memuat ID post. tipe data list
uid:1000:post => 1
memuat id post, tanggal, dan isi posting. tipe data string
post:1 => 1|139485858|ini posting
9. Post lanj
Memuat ID post yang pernah dibuat. tipe data list
global:nextPostId => 1
10. 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
11. Function
● Register ( register.php )
● Login ( login.php )
● Buat post ( post.php )
● Follow user ( follow.php )