summaryrefslogtreecommitdiffstats
path: root/iredis/data/commands/eval_ro.md
blob: db8c707e806e355028a2fe948cac2a0ce6cb7bbc (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
This is a read-only variant of the `EVAL` command that isn't allowed to execute
commands that modify data.

Unlike `EVAL`, scripts executed with this command can always be killed and never
affect the replication stream. Because it can only read data, this command can
always be executed on a master or a replica.

@examples

```
> SET mykey "Hello"
OK

> EVAL_RO "return redis.call('GET', KEYS[1])" 1 mykey
"Hello"

> EVAL_RO "return redis.call('DEL', KEYS[1])" 1 mykey
(error) ERR Error running script (call to f_359f69785f876b7f3f60597d81534f3d6c403284): @user_script:1: @user_script: 1: Write commands are not allowed from read-only scripts
```