执行脚本2

(1)执行单条脚本
--redis-cli set name qiao
--redis-cli get name > qiao.txt

(2)执行多条命令
vim cmds.txt
set name qiao
set age 18
set income 5000

//Unix 管道将 cat 指令的标准输出连接到 redis-cli 的标准输入
--cat cmds.txt|redis-cli

//输入重定向
--redis-cli < cmds.txt

(3)多行字符串
vim str.txt
Ernest Hemingway once wrote,
"The world is a fine place and worth fighting for."
I agree with the second part.

// -x 选项,该选项会使用标准输入的内容作为最后一个参数
--redis-cli -x set foo < str.txt
--redis-cli get foo

(4)导出csv
//导出列表
--redis-cli rpush lfoo a b c d e f g
--redis-cli --csv lrange lfoo 0 -1

//导出哈希
--redis-cli hmset hfoo a 1 b 2 c 3 d 4
--redis-cli --csv hgetall hfoo

(5)eval脚本
--eval "redis.call('set',KEYS[1],ARGV[1]);redis.call('set',KEYS[2],ARGV[2]);return 'ok';" 2 name age qiao 18
--eval "return {KEYS[1],KEYS[2],ARGV[1],ARGV[2]}" 2 name age qiao 18
--eval "return redis.call('mget', KEYS[1], KEYS[2])" 2 foo1 foo2

(6)evalsha

script load "return {KEYS[1],KEYS[2],ARGV[1],ARGV[2]}" --"a42059b356c875f0717db19a51f6aaca9ae659ea"
evalsha a42059b356c875f0717db19a51f6aaca9ae659ea 2 name age qiao 18

(7)文件脚本
vim mset.txt
return redis.pcall('mset', KEYS[1], ARGV[1], KEYS[2], ARGV[2])

vim mget.txt
return redis.call('mget', KEYS[1], KEYS[2])
--redis-cli --eval mset.txt foo1 foo2 , bar1 bar2
--redis-cli --eval mget.txt foo1 foo2

猜你喜欢

转载自www.cnblogs.com/hapyygril/p/12544274.html