标签:expressed hello redis事务 防止 class 状态 express 回滚 second
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‘
标签:expressed hello redis事务 防止 class 状态 express 回滚 second
原文地址:https://www.cnblogs.com/VVII/p/12973722.html