soyo 2020-05-28
redis.cli
127.0.0.1:6379> config get slowlog-log-slower-than 1) "slowlog-log-slower-than" 2) "10000" 127.0.0.1:6379> config get slowlog-max-len 1) "slowlog-max-len" 2) "128"
redis.windows.conf
# 慢查询 默认十秒 # The following time is expressed in microseconds, so 1000000 is equivalent # to one second. Note that a negative number disables the slow log, while # a value of zero forces the logging of every command. slowlog-log-slower-than 10000 # slowlog-log-slower-than =0记录所有命令 -1所有命令都不记录 # 队列记录数量 slowlog-max-len 128 # 此时当有第129条慢查询命令插入时,队列的第一条命令就会出列,第11条入列到慢查询队列中,先进先出
127.0.0.1:6379> slowlog len (integer) 0 127.0.0.1:6379>
slowlog get
# 事务开始 multi # 可发多条命令,但是命令不会立即被执行,而是被放到一个队列中 # 提交事务 exec # 此时会执行所有事务块内的命令。返回事务块内所有命令的返回值,按命令执行的先后顺序排列。 # 停止事务 discard # 客户端可以清空事务队列,并放弃执行事务, 并且客户端会从事务状态中退出 # WATCH # 使用watch后, multi失效,事务失效
# eval script numkeys key [key ...] arg [arg ...] # KEYS[1],ARGV[1]区分大小写,数字代表参数位置 eval "return {KEYS[1],KEYS[3],ARGV[1]}" 3 hello redis Redis !!
#当前正在运行的脚本会被杀死,执行这个脚本的客户端会从 EVAL script numkeys key [key …] arg [arg …] 命令的阻塞当中退出,并收到一个错误作为返回值。 #另一方面,假如当前正在运行的脚本已经执行过写操作,那么即使执行 SCRIPT KILL ,也无法将它杀死,因为这是违反 Lua 脚本的原子性执行原则的。 #在这种情况下,唯一可行的办法是使用 SHUTDOWN NOSAVE 命令,通过停止整个 Redis 进程来停止脚本的运行,并防止不完整(half-written)的信息被写入数据库中 script kill # 其他命令 script flush script exists ‘sha nm‘