# commands and the reply types
$r[^open_redis[]]
1. flushall: ^r.flushall[]
2. set: ^r.set[s;hello]
3. get: ^r.get[s]
4. call: ^r.call[GET;s]
5. upper case: ^r.GET[s] ^r.Get[s] ^r.call[get;s]
6. class methods are case sensitive: ^failed{^r.CALL[GET;s]}
7. element: ^if(def $r.get){$r.get}{not a command}
$v(^r.incr[n])
8. int: $v $v.CLASS_NAME
$v[^r.get[missing]]
9. nil: ^show[$v] ^if($v is void){void}
10. bitfield: ^show[^r.bitfield[bf;SET;i64;0;9007199254740993;SET;i64;64;42]]
11. int beyond 2^^53 is string: ^show[^r.bitfield[bf;GET;i64;0;GET;i64;64]]
12. zadd: ^r.zadd[z;1.5;a]
$v(^r.zscore[z;a])
13. double: $v $v.CLASS_NAME
14. bool: ^show[^r.eval[redis.setresp(3) return true;0]]
15. rpush: ^r.rpush[l;a;b;c]
16. array: ^show[^r.lrange[l;0;-1]]
17. hset: ^r.hset[h;f1;v1;f2;v2]
18. map: ^show[^r.hgetall[h]]
19. sadd: ^r.sadd[set;one]
20. set: ^show[^r.smembers[set]]
21. nested: ^show[^r.eval[return {1, {2, 'x'}, 'y'};0]]
22. error: ^failed{^r.lpush[s;x]}
23. unknown command: ^failed{^r.gett[s]}
24. multi: ^r.multi[] ^r.set[s2;x] ^r.lpush[s2;y]
25. error inside EXEC: ^failed{^r.exec[]}
$r2[^open_redis[ $.protocol(2) ]]
26. protocol 2, map is array: ^show[^r2.hgetall[h]]
27. protocol 2, double is string: ^show[^r2.zrange[z;0;-1;WITHSCORES]]
28. protocol 3: ^show[^r.zrange[z;0;-1;WITHSCORES]]
^r2.release[]
^r.release[]
29. released: ^failed{^r.get[s]}
E-mail: