summaryrefslogtreecommitdiffstats
path: root/iredis/data/commands/eval_ro.md
diff options
context:
space:
mode:
Diffstat (limited to 'iredis/data/commands/eval_ro.md')
-rw-r--r--iredis/data/commands/eval_ro.md19
1 files changed, 19 insertions, 0 deletions
diff --git a/iredis/data/commands/eval_ro.md b/iredis/data/commands/eval_ro.md
new file mode 100644
index 0000000..db8c707
--- /dev/null
+++ b/iredis/data/commands/eval_ro.md
@@ -0,0 +1,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
+```