1. 1
REDIS SERVER
An Introduction to REDIS SERVER, an advanced key value
database
By: Ali MasudianPour <masud.amp@gmail.com>
2. 2
What REDIS is
●
Redis is an open source, BSD licensed, advanced key-value
store. It is often referred to as a data structure server since keys
can contain strings, hashes, lists, sets and sorted sets.
●
REDIS
– It stands for REmote DIctionary Server
3. 3
Features
●
not a plain key-value store, a data structures server
●
supporting different kind of values
●
Free and open source
●
Easy to user
●
Easy to learn
4. 4
Supported Data Types
●
Binary-safe strings.
●
Lists of binary-safe strings.
●
Sets of binary-safe strings, that are collection of unique unsorted
elements.
●
Sorted sets, similar to Sets but where every element is
associated to a floating number score. The elements are taken
sorted by score.
5. 5
KEYS - VALUES
●
In REDIS, Keys are binary safe
– This means that you can use any binary sequence as key
●
From String like 'foo' to the content of a JPEG file
– REDIS keys accept empty
●
In REDIS, Values
– Can not be bigger than 512MB
–
6. 6
SET
●
To set a value to a key we use SET statement
– SET key value
●
Example:
– SET foo bar
– In above example we told redis to set bar value to foo key
●
To set string value we use double quotations
– SET keyname “The string content of value”
7. 7
GET
●
To get a value from redis we use GET statement
– GET keyname
●
Example
– GET foo // it will return bar
– In above example we told redis to get foo key value.
8. 8
INCR, INCRBY
●
Automatic increment by REDIS
– To use automatic increment of redis we use INCR
●
Example:
– Set counter 1
incr counter
// Output wil be 2
●
We can also use INCRBY
– Set counter 1
– Incr counter
– // Output wil be 2
– Incrby counter 10
– //outpur will be 12
9. 9
DECR, DECRBY
●
In opposite of INCR and INCRBY redis contains DESC and
DESCBY
– Just like DECR and DECRBY
– Set counter 10
decr counter
// Output wil be 9
decrby counter 5
//output will be 4
10. 10
EXPIRE and TTL
●
In REDIS we can set keys to expire in a given and specific
amount of time.
– To do that we use EXPIRE command
– Example
●
Set foo bar
●
Expire foo 50
– To find out how many time a key have we use TTL command
●
For instance after 10 second of declaring foo key if we use TTL command the
output will be something like below:
– Ttl foo
//40
11. 11
LISTS
●
To create a list use LPUSH or RPUSH. If a list already exists,
LPUSH will add the given value to the beginning of the list and
RPUSH will add it to the end.
●
Redis lists contain the following commands
– SORT
– RPUSH
– LPUSH
– LLEN
– LTRIM
– LRANGE
– LPOP
– RPOP
– BLPOP
– BRPOP
–
13. 13
SETS
●
Sets are similar to lists but does not support duplication
●
Example:
– Add to sets
●
redis 127.0.0.1:6379> SADD names "Michael"
(integer) 1
redis 127.0.0.1:6379> SADD names "JOHN"
(integer) 1
redis 127.0.0.1:6379> SMEMBERS names
1) "JOHN"
2) "Michael"
14. 14
Lists
●
Now, if you try to add another set member with JOHN value it
will do nothing, because sets do not support duplication.
●
Other useful commands for set
– SADD, SREM, SPOP, SMOVE, SCARD, SISMEMBER, SINTER,
SINTERSTORE, SUNION, SUNIONSTORE, SDIFF, SDIFFSTORE,
SMEMBERS, SRANDMEMBER.
15. 15
HASHES
●
Using a hash, you can assign values to fields in each key.
●
Common Commands in hashes are:
– HSET, HGET, HSETNX, HMSET, HMGET, HINCRBY, HEXISTS,
HDEL, HLEN, HKEYS, HVALS, HGETALL