forked from huangzworks/redis
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathbrpop.html
162 lines (138 loc) · 6.72 KB
/
brpop.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>BRPOP — Redis 命令参考</title>
<link rel="stylesheet" href="../_static/pyramid.css" type="text/css" />
<link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
<script type="text/javascript">
var DOCUMENTATION_OPTIONS = {
URL_ROOT: '../',
VERSION: '2.8',
COLLAPSE_INDEX: false,
FILE_SUFFIX: '.html',
HAS_SOURCE: true
};
</script>
<script type="text/javascript" src="../_static/jquery.js"></script>
<script type="text/javascript" src="../_static/underscore.js"></script>
<script type="text/javascript" src="../_static/doctools.js"></script>
<link rel="top" title="Redis 命令参考" href="../index.html" />
<link rel="up" title="List(列表)" href="index.html" />
<link rel="next" title="BRPOPLPUSH" href="brpoplpush.html" />
<link rel="prev" title="BLPOP" href="blpop.html" />
<!--[if lte IE 6]>
<link rel="stylesheet" href="../_static/ie6.css" type="text/css" media="screen" charset="utf-8" />
<![endif]-->
</head>
<body>
<div class="related">
<h3>Navigation</h3>
<ul>
<li class="right" style="margin-right: 10px">
<a href="../genindex.html" title="General Index"
accesskey="I">index</a></li>
<li class="right" >
<a href="brpoplpush.html" title="BRPOPLPUSH"
accesskey="N">next</a> |</li>
<li class="right" >
<a href="blpop.html" title="BLPOP"
accesskey="P">previous</a> |</li>
<li><a href="../index.html">Redis 命令参考</a> »</li>
<li><a href="index.html" accesskey="U">List(列表)</a> »</li>
</ul>
</div>
<div class="document">
<div class="documentwrapper">
<div class="bodywrapper">
<div class="body">
<div class="section" id="brpop">
<span id="id1"></span><h1>BRPOP<a class="headerlink" href="#brpop" title="Permalink to this headline">¶</a></h1>
<p><strong>BRPOP key [key ...] timeout</strong></p>
<p><a class="reference internal" href="#brpop">BRPOP</a> 是列表的阻塞式(blocking)弹出原语。</p>
<p>它是 <a class="reference internal" href="rpop.html#rpop"><span>RPOP</span></a> 命令的阻塞版本,当给定列表内没有任何元素可供弹出的时候,连接将被 <a class="reference internal" href="#brpop">BRPOP</a> 命令阻塞,直到等待超时或发现可弹出元素为止。</p>
<p>当给定多个 <code class="docutils literal"><span class="pre">key</span></code> 参数时,按参数 <code class="docutils literal"><span class="pre">key</span></code> 的先后顺序依次检查各个列表,弹出第一个非空列表的尾部元素。</p>
<p>关于阻塞操作的更多信息,请查看 <a class="reference internal" href="blpop.html#blpop"><span>BLPOP</span></a> 命令, <a class="reference internal" href="#brpop">BRPOP</a> 除了弹出元素的位置和 <a class="reference internal" href="blpop.html#blpop"><span>BLPOP</span></a> 不同之外,其他表现一致。</p>
<dl class="docutils">
<dt><strong>可用版本:</strong></dt>
<dd>>= 2.0.0</dd>
<dt><strong>时间复杂度:</strong></dt>
<dd>O(1)</dd>
<dt><strong>返回值:</strong></dt>
<dd><div class="first last line-block">
<div class="line">假如在指定时间内没有任何元素被弹出,则返回一个 <code class="docutils literal"><span class="pre">nil</span></code> 和等待时长。</div>
<div class="line">反之,返回一个含有两个元素的列表,第一个元素是被弹出元素所属的 <code class="docutils literal"><span class="pre">key</span></code> ,第二个元素是被弹出元素的值。</div>
</div>
</dd>
</dl>
<div class="highlight-python"><div class="highlight"><pre>redis> LLEN course
(integer) 0
redis> RPUSH course algorithm001
(integer) 1
redis> RPUSH course c++101
(integer) 2
redis> BRPOP course 30
1) "course" # 被弹出元素所属的列表键
2) "c++101" # 被弹出的元素
</pre></div>
</div>
</div>
<div class="section" id="discuss">
<h2>
讨论
<a class="headerlink" href="#discuss" title="永久链接至标题">¶</a>
</h2>
<div id="disqus_thread"></div>
<script type="text/javascript">
/* * * CONFIGURATION VARIABLES: EDIT BEFORE PASTING INTO YOUR WEBPAGE * * */
var disqus_shortname = 'redis-command-cn'; // required: replace example with your forum shortname
/* * * DON'T EDIT BELOW THIS LINE * * */
(function() {
var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
dsq.src = '//' + disqus_shortname + '.disqus.com/embed.js';
(document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
})();
</script>
<noscript>Please enable JavaScript to view the <a href="http://disqus.com/?ref_noscript">comments powered by Disqus.</a></noscript>
<a href="http://disqus.com" class="dsq-brlink">comments powered by <span class="logo-disqus">Disqus</span></a>
</div>
<div id="sponser">
<h2>赞助商</h2>
<p>我们正在寻找赞助商,有意对这个网站进行赞助的朋友请联系 [email protected] 。</p>
</div>
</div>
</div>
</div>
<div class="clearer"></div>
</div>
<div class="related">
<h3>Navigation</h3>
<ul>
<li class="right" style="margin-right: 10px">
<a href="../genindex.html" title="General Index"
>index</a></li>
<li class="right" >
<a href="brpoplpush.html" title="BRPOPLPUSH"
>next</a> |</li>
<li class="right" >
<a href="blpop.html" title="BLPOP"
>previous</a> |</li>
<li><a href="../index.html">Redis 命令参考</a> »</li>
<li><a href="index.html" >List(列表)</a> »</li>
</ul>
</div>
<div class="footer">
© Copyright 2015, Redis.
Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.3.3.
</div>
<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-53959484-7', 'auto');
ga('send', 'pageview');
</script>
</body>
</html>