# Redis: A Short Guide

### Links
- [Cheat Sheet](https://redis.io/learn/howtos/quick-start/cheat-sheet)
- [Production usage](https://redis.io/docs/latest/develop/clients/nodejs/produsage/)
- [Persistence](persistence)
- JSON
    - [JSON DataType](https://redis.io/docs/latest/develop/data-types/json/)
    - [RedisJSON @ GitHub](https://github.com/RedisJSON/RedisJSON)
- [Installing Redis on Windows](https://redis.io/docs/latest/operate/oss_and_stack/install/install-redis/install-redis-on-windows/)
- [Memurai: Redis for Windows](https://www.memurai.com/)

### Installing
```bash
curl -fsSL https://packages.redis.io/gpg | sudo gpg --dearmor -o /usr/share/keyrings/redis-archive-keyring.gpg
echo "deb [signed-by=/usr/share/keyrings/redis-archive-keyring.gpg] https://packages.redis.io/deb $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/redis.list
sudo apt-get update
sudo apt-get install redis

sudo service redis-server start
sudo systemctl status redis-server.service
```

### Config File
```bash
dpkg -L redis-server | grep redis.conf
sudo micro /etc/redis/redis.conf
sudo micro /etc/systemd/system/redis.service
```

### Configuring by the CLI
```bash
redis-cli CONFIG
redis-cli CONFIG GET maxmemory
redis-cli CONFIG SET maxmemory 100mb
redis-cli CONFIG SET maxmemory-policy volatile-lfu
```

### Get Memory Usage
```bash
redis-cli MEMORY STATS
redis-cli MEMORY USAGE
redis-cli MEMORY
redis-cli MEMORY USAGE *
redis-cli INFO memory
```

### Common Commands
```bash
redis-cli ping
redis-cli info
redis-cli keys *
redis-cli DBSIZE
```

### DANGEROUS COMMANDS
```bash
redis-cli flush
redis-cli flushall
redis-cli --scan --pattern tile:1:20/* | xargs redis-cli del;
```
