Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Wprowadzenie do Redisa
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Michał Szajbe
September 17, 2014
Programming
120
2
Share
Wprowadzenie do Redisa
(In Polish)
Presented at Bydgoszcz Web Development Meetup #6
Michał Szajbe
September 17, 2014
More Decks by Michał Szajbe
See All by Michał Szajbe
Deployment kodu z Capistrano
szajbus
0
77
Other Decks in Programming
See All in Programming
Spec-Driven Development with AI Agents (Workshop, May 2026)
antonarhipov
3
340
Making the RBS Parser Faster
soutaro
0
680
SREに優しいTerraform構成 modulesとstateの組み方
hiyanger
2
170
Agentic UI in the Frontend: Architectures with Open Standards @JAX 2026 in Mainz
manfredsteyer
PRO
0
110
AIを導入する前にやるべきこと
negima
2
340
🦞OpenClaw works with AWS
licux
1
350
Augmenting AI with the Power of Jakarta EE
ivargrimstad
0
300
20260514_its_the_context_window_stupid.pdf
heita
0
850
リセットCSSを1行消したらアクセシビリティが向上した話
pvcresin
4
500
2026-04-15 Spring IO - I Can See Clearly Now
jonatan_ivanov
1
190
mruby on C#: From VM Implementation to Game Scripting (RubyKaigi 2026)
hadashia
2
1.7k
いつか誰かが、と思っていた フロントエンド刷新5年間の実践知
kiichisugihara
1
260
Featured
See All Featured
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.3k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
The Language of Interfaces
destraynor
162
26k
Principles of Awesome APIs and How to Build Them.
keavy
128
17k
The Limits of Empathy - UXLibs8
cassininazir
1
320
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.4k
How to train your dragon (web standard)
notwaldorf
97
6.6k
Lightning talk: Run Django tests with GitHub Actions
sabderemane
0
180
So, you think you're a good person
axbom
PRO
2
2k
Deep Space Network (abreviated)
tonyrice
0
130
Ethics towards AI in product and experience design
skipperchong
2
270
Odyssey Design
rkendrick25
PRO
2
610
Transcript
Michał Szajbe
Czym jest Redis? • Baza danych typu klucz-wartość# • Serwer
struktur danych# • Pozwala na atomiczne operacje na danych# • Trzyma dane w pamięci operacyjnej
key-value store • Klucz = unikalny identyfikator# • Wartość =
dane# • Analogia: hash, map, tablica asocjacyjna# • Przykład: Zbiór PESEL, książka telefoniczna
key-value store key1 value1 key2 value2 key3 value3
String • Podstawowa struktura (nie typ!) danych w Redisie# •
Może zawierać dowolne dane, np. obrazy JPEG, bitmapy, tekst, serializowane obiekty# • Max 512 MB
String name Bydgoszcz Web SET name "Bydgoszcz Web" nr 5
SET nr 5
String name Bydgoszcz Web Development Meetup APPEND name " Development
Meetup" GETRANGE name 10 24 Web Development
String nr 6.5 INCRBYFLOAT nr 0.5 nr 6 INCR nr
String bits1 1100 bits2 1010 BITOP AND result bits1 bits2
result 1000
Lista • Uporządkowana kolekcja stringów (nie tablica!)# • Możliwość dodania
elementu od prawej lub lewej strony# • Bardzo szybki dostęp do skrajnych elementów, wolniejszy do środkowych - O(N) list e1 e2 e3
Lista RPUSH speakers Artur RPUSH speakers Michał speakers Artur
Michał LPUSH speakers Bartek speakers Bartek Artur Michał
Lista LLEN speakers 3 LRANGE speakers 0 -2 Bartek Artur
RPOP speakers Michał speakers Bartek Artur
Przykład: Newsfeed • Chronologicznie# • Tylko 3 najświeższe wiadomości
Przykład: Newsfeed • Chronologicznie# • Tylko 3 najświeższe wiadomości newsfeed
Fotki J. Lawrence WordPress Coś o Tusku
Przykład: Newsfeed LPUSH newsfeed Redis ! LTRIM newsfeed 0 3
Przykład: Newsfeed LPUSH newsfeed Redis ! LTRIM newsfeed 0 3
newsfeed Redis Fotki J. Lawrence WordPress
Zbiór (Set) • Nieuporządkowana kolekcja stringów# • Szybkie dodawanie, usuwanie
i sprawdzanie istnienia elementów w zbiorze# • Tylko unikalne wartości set e1 e2 e3
Zbiór (Set) SADD bookmarks bdgweb.pl ! SADD bookmarks monterail.com !
SADD bookmarks codetunes.com bookmarks bdgweb.pl monterail.com codetunes.com
Zbiór (Set) SRANDMEMBER bookmarks codetunes.com SREM bookmarks codetunes.com SMEMBERS bookmarks
bookmarks bdgweb.pl monterail.com
Operacje na zbiorach set1 a b c set2 a x
z SUNION set1 set2 a b c x z SINTER set1 set2 a SDIFF set1 set2 b c
Operacje na zbiorach set1 a b c set2 a x
z SMOVE set1 set2 c set1 a b set2 a x z c
Hash • Mapuje stringi na wartości (też stringi)# • Dobre
do reprezentacji obiektów hash field1 value1 field2 value2
Hash HSET user name John ! HMSET user age 30
gender male user name John age 30 gender male
Hash HINCRBY user age 1 HMGET user name age John
31 HGET user age 31
Uporządkowany zbiór (Sorted Set) • Połączenie zbioru z hashem# •
Każdy element ma przypisany "score"# • Elementy są automatycznie porządkowane wg score# • Przydatne do budowania rankingów, indeksowania
Uporządkowany zbiór (Sorted Set) clicks link1 1 link2 2 link3
4
Uporządkowany zbiór (Sorted Set) ZADD clicks 1 link4 ! ZINCRBY
clicks 1 link1 clicks link4 1 link1 2 link2 2 link3 4
Uporządkowany zbiór (Sorted Set) ZRANGE clicks 0 1 link4 link1
ZREVRANGE clicks 0 1 link3 link2 ZSCORE clicks link3 4
Uporządkowany zbiór (Sorted Set) ZRANGEBYSCORE clicks 2 +inf WITHSCORES link1
2 link2 2 link3 4
Wygaszanie kluczy e87Yc0iK SET token e87Tc0iK ! EXPIRE token 5
! GET token ! ! ! GET token (nil) po upływie 5 sekund...
Inne ficzery • Transakcje (poprzez kolejkowanie poleceń)# • Pub/sub# •
Skryptowanie (w języku Lua)# • Sharding i replikacja
Przydatne linki • redis.io# • try.redis-db.com