====== 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