Upgrade to Pro — share decks privately, control downloads, hide ads and more …

REDIS SERVER

REDIS SERVER

An Introduction to REDIS SERVER, an advanced key value
database

Ali MasudianPour

August 09, 2013
Tweet

More Decks by Ali MasudianPour

Other Decks in Programming

Transcript

  1. 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
  2. 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
  3. 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.
  4. 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 –
  5. 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”
  6. 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.
  7. 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
  8. 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
  9. 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
  10. 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 – And ...
  11. 12 LISTS redis 127.0.0.1:6379> lpush ages 10 (integer) 1 redis

    127.0.0.1:6379> lpush ages 13 (integer) 2 redis 127.0.0.1:6379> lpush ages 12 (integer) 3 redis 127.0.0.1:6379> lpush ages 6 (integer) 4 redis 127.0.0.1:6379> LRANGE ages 0 3 1) "6" 2) "12" 3) "13" 4) "10" redis 127.0.0.1:6379> sort ages 1) "6" 2) "10" 3) "12" 4) "13" ----------------------------- redis 127.0.0.1:6379> lpop ages "6" redis 127.0.0.1:6379> rpop ages "10" redis 127.0.0.1:6379> LRANGE ages 0 10 1) "12" 2) "13" redis 127.0.0.1:6379>
  12. 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" redis 127.0.0.1:6379> • SADD adds to set and SMEMMEBRS show the member of set
  13. 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.
  14. 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
  15. 16 Example of HASHES redis 127.0.0.1:6379> hset student name "Ali"

    (integer) 1 redis 127.0.0.1:6379> hset student lastName "MasudianPour" (integer) 1 redis 127.0.0.1:6379> hset student number 101222 (integer) 1 redis 127.0.0.1:6379> hget student name "Ali" redis 127.0.0.1:6379> hget student lastName "MasudianPour" redis 127.0.0.1:6379> HGETALL student 1) "name" 2) "Ali" 3) "lastName" 4) "MasudianPour" 5) "number" 6) "101222"
  16. 17 End • This document is provided to be a

    little familiar with REDIS. I hope it help you to start working with REDIS.