基于内存的Redis应该是目前各种web开发业务中最为常用的key-value数据库了,我们经常在业务中用其存储用户登陆态(Session存储),加速一些热数据的查询(相比较mysql而言,速度有数量级的提升),做简单的消息队列(LPUSH和BRPOP)、订阅发布(PUB/SUB)系统等等。规模比较 ...
分类:
其他好文 时间:
2021-05-03 12:08:07
阅读次数:
0
redis卸载:后配安装https://blog.csdn.net/isea533/article/details/84550237 一、使用redis的List类型结合lpush 和 brpop 来实现 简介 首先redis的List 相当于一个队列,可以实现先进先出的规则 采用brpop 是因为 ...
分类:
编程语言 时间:
2021-04-16 11:57:48
阅读次数:
0
没有元素会阻塞,直到有元素或超时 t 秒后,t为0则永久阻塞 blpop k1 k2 t 左弹并返回 brpop k1 k2 t 右弹并返回 brpoplpush s d t s右弹,左插到d,并返回 rpoplpush s d s右弹,左插到d,并返回 llen k 返回长度 linsert k ...
分类:
其他好文 时间:
2020-05-27 20:14:22
阅读次数:
71
redis提供了list类型,此类型底层是通过双向链表来实现:
> lpush、rpop 非阻塞式
> blpop、brpop 阻塞式
先来对比一下上面阻塞与非阻塞会有什么问题;
> 1.阻塞式:如果队列里面没有消息,会阻塞连接,长时间占用redis连接,需要考虑redis配置的超时以及redis会对空闲连接进行释放以减少资源浪费,需要对异常进行捕获重试;
> 2.非阻塞式:如果是1s主动去redis中拉取一次消息,也不太适合;
分类:
其他好文 时间:
2020-05-04 22:59:34
阅读次数:
72
该书226页,每小时看30页,第一遍要在今天22点前看完 基础数据结构 这个是最重要的 分布式锁 set ex nx 超时问题 value为随机参数,问题是:判断再删除非原子操作 可重入性 异步队列 rpush/lpush 和 blpop/brpop 空虚连接会自动断开,blpop会抛出异常 锁冲突 ...
分类:
其他好文 时间:
2020-05-03 18:16:47
阅读次数:
175
一.核心重点 二.互动操作思路 1.前端向后端接口发起请求 2.后端接受请求,更加参数成功一个bat脚本,并用os命令执行他,利用redis中blpop或者brpop方法进行阻塞 `方法死的人是活的,这是我操作的方法,思路有了代码就简单了` ...
分类:
移动开发 时间:
2020-05-03 12:38:42
阅读次数:
209
blPop,brPop 阻塞式读取和删除第一个/最后一个元素bRPopLPush 从列表中弹出一个值,并把它推到另一个列表中rPopLPush 弹出列表中最后一个元素。并把它推到另一个列表中lRange,LGetRange 获取列表中一些列元素lIndex ,lGet 从其索引中获取元素 lset ...
分类:
其他好文 时间:
2020-04-18 13:44:46
阅读次数:
48
BLPOP BRPOP BRPOPLPUSH LINDEX LINDEX key index 返回列表 key 中,下标为 index 的元素。 下标(index)参数 start 和 stop 都以 0 为底,也就是说,以 0 表示列表的第一个元素,以 1 表示列表的第二个元素,以此类推。 你也可 ...
分类:
其他好文 时间:
2019-10-19 00:36:14
阅读次数:
89
1、任务队列 对于发送邮件或者是复杂计算这样的操作,常常需要比较长的时间,为了不影响web应用的正常使用,避免页面显示被阻塞,常常会将此类任务存入任务队列交由专门的进程去处理。 队列最基础的方法如下: 对于上述的策略,redis有更有一些的方法,即使用BRPOP命令 如果队列中没有元素,则会阻塞列表 ...
分类:
其他好文 时间:
2019-03-18 22:33:07
阅读次数:
225
BLPOP key1 [key2 ] timeout 移出并获取列表的第一个元素, 如果列表没有元素会阻塞列表直到等待超时或发现可弹出元素为止。 BRPOP key1 [key2 ] timeout 移出并获取列表的最后一个元素, 如果列表没有元素会阻塞列表直到等待超时或发现可弹出元素为止。 BRP... ...
分类:
其他好文 时间:
2019-02-01 11:15:45
阅读次数:
149