三、redis事物、过期时间

事物

语法:
multi
命令1
命令2
exec
这里写图片描述
redis在收到multi命令后,会将后面输入的命令存储而不执行,直到收到exec命令再执行。每条命令后返回的QUEUED表示该命令已经进入等待执行的事务队列中。redis事物还能保证事物内的命令依次执行而不被其它命令插入。

错误处理

1)语法错误
这里写图片描述
事物内所有的命令都不会执行。
2)运行错误
这里写图片描述
redis事物并不支持回滚。

watch命令

用于监视一个(或多个) key ,如果在事务执行之前这个(或这些) key 被其他命令所改动,那么事务将被打断,即不执行。
这里写图片描述

过期时间

expire

a)设置过期时间
expire key seconds 单位秒
pexpire key millisecond 单位毫秒
b)查看剩余时间
ttl key 返回秒
pttl key 返回毫秒
未过期返回剩余时间;已过期返回-2;未设置过期时间返-1;
这里写图片描述

persist

persisi key 取消过期时间
取消成功返1 ,失败或未设置过期时间返0
此外,set 或getset命令赋值会同时清除过期时间。
watch检测一设置有过期时间的key,key到期自动删除不会被watch认为该键值被改变。

expireat和pexpireat

不常用。使用unux时间作为过期时间。expireat秒;pexpireat毫秒。

适用举例

如访问频率限制、缓存等。缓存又涉及到缓存淘汰规则等,具体请参考其它资料。

猜你喜欢

转载自blog.csdn.net/helloWorldAndYou/article/details/82529885
今日推荐