Redis学习笔记(3)-Redis事务,过期时间,队列
来源:互联网 发布:virtualbox怎么用软件 编辑:程序博客网 时间:2024/06/05 11:32
事务
MULTI表示开启事务
然后执行了2个语句
在执行的过程中,他们并没有真正执行,而是挂起。
等到输入EXEC的时候才会真正的执行。
这样保证了事务的特性,要么都执行,要么都不执行。
请注意,Redis的事务并没有事务回滚功能。
若第一行语句成功,第二行语句出错失败,第一行语句的结果任然是执行了的。
过期时间
过期时间的设置能够让Redis将已经存储的数据,到了过期时间后自动删除。
设置key的过期时间
命令:EXPIRE key seconds
key:键
Seconds:过期时间,以秒为单位。
返回值:1表示成功,0表示失败。
查看key将要被删除的剩余时间
命令:TTL key
key:键
返回值:秒,若未设置过期时间,则返回-1,若键不存在则返回-2。
SET命令能取消过期时间的设置。
消息队列
在Redis队列支持的基础上,比如PUSH和POP。
Redis支持阻塞式的拉取数据。
命令:BLPOP与BRPO
阻塞式的左拉或者右拉数据
语法:BLPOP key1 key2 key3
在队列的左边拉取第一个数据。
可以有多个key,优先级key1>key2>key3
返回值:被拉取的数据。
发布订阅模式
发布消息命令
命令:PUBLISH channel message
channel:消息频道名称
message:所发布的消息
返回值:收到消息的订阅者个数
此发布不会被持久化,如果订阅者没有收到,那么这条消息就丢失了。
因此,此功能实现简单的MQ还行,复杂的还是靠ActiveMQ什么的吧。
订阅消息命令
命令:SUBSCRIBE channel1 channel2 channel3…
可以订阅多个消息频道,执行订阅命令后,程序就进入了订阅状态(也就是阻塞等待)。
channel:消息频道名称
返回值:一共有三个返回值
第一个值有三种
Subscribe:表示订阅成功,第二个值是订阅的频道名称,第三个是当前程序订阅的频道数量。
Message:表示接收到的消息,第二个值是订阅的频道名称,第三个是消息的内容。
Unsubscribe:表示成功取消订阅,第二个值是订阅的频道名称,第三个是当前程序订阅的频道数量。
取消订阅命令
命令:SUBSCRIBE channel1 channel2 channel3…
- Redis学习笔记(3)-Redis事务,过期时间,队列
- Redis学习笔记(四)--过期时间
- Redis事务与过期时间
- [Redis学习笔记]-Redis 事务
- Redis 事务学习笔记
- Redis学习笔记:事务
- Redis学习笔记(十)——过期时间、访问限制与缓存
- Redis学习笔记(十)——过期时间、访问限制与缓存
- Redis学习笔记(十)——过期时间、访问限制与缓存
- Redis设置过期时间
- redis过期时间
- redis之过期时间
- redis key 过期时间
- redis过期时间设置
- 【Redis学习笔记(七)】 Redis中的事务
- Redis学习笔记6--Redis事务
- Redis学习笔记6--Redis事务
- Redis学习笔记6--Redis事务
- smarty操作
- Java千百问_02基本使用(012)_如何编写非阻塞SocketChannel程序
- bash基本特性
- 虚拟内存
- 第35课:Kafka源码解读中分区数、Consumer并行度等
- Redis学习笔记(3)-Redis事务,过期时间,队列
- OpenCV学习笔记11(摄像机帧率实时显示,控制台)
- UNIX/Linux 下文件类型及权限
- CentOS6.5设置完SSH免密码登录之后仍然要求输入密码的问题
- uva 437 The Tower of Babylon
- 【编程马拉松】【020-小世界现象】
- vector的基本操作
- java.lang.RuntimeException: Unable to instantiate activity ComponentInfo异常
- 学习Java需要知道的事情