黑马程序员Redis入门到实战教程,深度透析redis底层原理+redis分布式锁+企业解决方案+黑马点评实战项目
总时长 42:48:00 共175P
此文章包含第71p-第p77的内容 包含实战篇25-30的内容
文章目录
jvm消息队列
实现代码
创建对象将其放入消息队列中
创建阻塞队列
创建一个1024*1024大小的阻塞队列
将对象存到阻塞队列当中
创建线程池和线程任务
@PostConstruct 在当前类初始化完毕后执行
把阻塞队列的生产者消费者比作厨子,桌子,客人,厨子做饭了一份菜(厨子只要有任务就会做),放到了桌子上,桌子的容量就是1024 * 1024
创建一个死循环来判断队列中是否存在消息,这个不必担心对cpu有很大的负担,这个方法是判断是否存在消息 存在才会卡住,不存在直接放行
创建一个代理对象(proxy)并对其进行初始化
测试效果
redis消息队列
这里入股宕机或出现异常会导致数据丢失 所以我们使用redis的消息队列
List结构
查看一下list解构
阻塞或者等待 直到有一个元素可用为止
创建一个20秒的等待时间
存一个队列 存了两个
阻塞或等待
pubsub结构
来官网查看详细信息
支持的通配符(pattern)
subscribe和psubscribe都是阻塞式的(订阅以后就一直等待读消息)
发送消息后
streams数据类型
教程
发送消息命令
读取消息命令
如果没设置阻塞 有消息的时候就返回值 没消息就返回空nil
使用$代表从最新的消息进行读取,这里没有未读取的新消息,
阻塞状态
有bug
消费者组