====== redis ====== * [[https://medium.com/@stockholmux/from-sql-to-redis-chapter-1-145c82e4baa0|from sql to redis]] * [[https://joshtronic.com/2013/07/29/mysql-and-redis-command-equivalents/|from mysql to redis]] ===== string ===== type **string**: store a value [integer, string, ...] belong a key [string] SET connections 10 INCR connections => 11 INCR connections => 12 DEL connections INCR connections => 1 expiring key SET resource:lock "Redis Demo" EXPIRE resource:lock 120 ===== list ===== A list have an order RPUSH puts the new value at the end of the list. LPUSH puts the new value at the start of the list. LLEN, LPOP, RPOP RPUSH friends "Alice" RPUSH friends "Bob" LRANGE friends 0 -1 => 1) "Sam", 2) "Alice", 3) "Bob" LRANGE friends 0 1 => 1) "Sam", 2) "Alice" LRANGE friends 1 2 => 1) "Alice", 2) "Bob" ===== set ===== A set does not have an order but each element may only appear once. SADD superpowers "flight" SADD superpowers "x-ray vision" SADD superpowers "reflexes" SREM superpowers "reflexes" SISMEMBER superpowers "flight" => 1 SISMEMBER superpowers "reflexes" => 1 ===== sorted set ===== A sorted set is similar to a regular set, but now each value has an associated score. This score is used to sort the elements in the set. ZADD hackers 1940 "Alan Kay" ZADD hackers 1969 "Linus Torvalds" ZADD hackers 1906 "Grace Hopper" ZADD hackers 1953 "Richard Stallman" ZRANGE hackers 2 4 1) "Richard Stallman" 2) "Linus Torvalds" ===== hash ===== type **hash** for **tables and rows** namespace:table:id INCR gianoauth:realm:next_user_id => 1 HSET gianoauth:realm:user:1 id 1 username "scipio" name "Stefano Scipioni" password "hash" visits 0 add an INDEX with **sets**: collections of strings that are unordered and cannot contain duplicates SADD gianoauth:realm:all-users gianoauth:realms:users:1 visits HINCRBY gianoauth:realm:user:1 visits 1 => 2 use multi exec to surround HSET and SADD MULTI HSET ... HSET ... SADD ... EXEC **sorted set**: like a set a sorted set only allows members without repeats, but also allows you to specify a score ZADD gianoauth:realms:priceIndex 10.99 scipio ===== gui ===== * [[http://fastoredis.com|fastoredis]] ===== server ===== sudo apt install -y redis-server redis-tools