Redis

Key Data-Structures

In memory

Many Drivers (PHP, Java, Golang ...)

Good documentation

redis.io/documentation

Types

String

post:9 { "title": "...", "content": "..." }
visitor:15092016 60
speaker Claude

String


> SET visitor:15092016 60
OK
> GET visitor:15092016
"60"
                        

String


> INCR visitor:15092016
61
                        

Hash

speaker:1
twitter @claudusd
name Dioudonnat

Hash


> HSET speaker:1 twitter "@claudusd"
1
> HSET speaker:1 name "Dioudonnat"
1
> HGET speaker:1 twitter
"@claudusd"
> HKEYS speaker:1
"twitter"
"name"
                        

List

messages:clermontech
1 {..} 2 1

List


> LPUSH messages:clermontech "1" "{..}" "2" "1"
4
> LRANGE messages:clermontech 0 -1
"1"
"2"
"{..}"
"1"
> LPOP messages:clermontech
"1"
> LRANGE messages:clermontech 0 -1
"2"
"{..}"
"1"
                        

Set

homepage:visitor:ip:15092016
1.0.0.1 1.0.0.2

Set


> SADD homepage:visitor:ip:15092016 "1.0.0.1" "1.0.0.2" "1.0.0.1"
2
> SMEMBERS homepage:visitor:ip:15092016
"1.0.0.1"
"1.0.0.2"
                        

Pub/Sub

Publish


> PUBLISH channel "Hello"
3
                        

Subscribe


> SUBSCRIBE channel
                        

Good to know

Persist on Disk

  • RDB
  • AOF

Monitoring

  • memory
  • 2^64-1 keys

Keep Clean

  • DEL myKey
  • EXPIRE myKey 10
  • TTL myKey

Authentication

Scaling

  • Master/Slave
  • Proxy (Twemproxy)

Questions


> RPUSH questions "... ?" "... ?"
2
> LPOP questions
...
                    

Thanks