forked from NEKOGET/FuelPHP_docs_jp
-
Notifications
You must be signed in to change notification settings - Fork 0
/
redis.html
247 lines (227 loc) · 7.69 KB
/
redis.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
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
<!doctype html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="./../assets/css/combined.css">
<link rel="shortcut icon" href="./../favicon.ico" />
<script src="http://www.google.com/jsapi" type="text/javascript"></script>
<script type="text/javascript">
var path = './../';
var class_prefix = "Redis_Db::";
</script>
<script src="./../assets/js/combined.js"></script>
<title>Redis_Db - クラス - FuelPHP ドキュメント</title>
</head>
<body>
<div id="container">
<header id="header">
<div class="table">
<h1>
<a href="http://fuelphp.com"><img height="37px" width="147px" src="./../assets/img/fuel.png" /></a>
<strong>Documentation</strong>
</h1>
<form id="google_search">
<p>
<span id="search_clear"> </span>
<input type="submit" name="search_submit" id="search_submit" value="検索" />
<input type="text" value="" id="search_input" name="search_input" />
</p>
</form>
</div>
<nav>
<div class="clear"></div>
</nav>
<a href="#" id="toc_handle">目次</a>
<div class="clear"></div>
</header>
<div id="cse">
<div id="cse_point"></div>
<div id="cse_content"></div>
</div>
<div id="main">
<h2>Redis_Db クラス</h2>
<p>Redis_Db クラスは、key-value ストアである <a href="http://redis.io/">Redis</a> とデータをやり取りすることができます。</p>
<h3 id="configuration">設定</h3>
<p>すべての Redis データベースの接続設定は、app/config/<environment>/db.php の redis 配列の中で設定されている必要があります。設定オプションと説明を下にリストアップしました。すべての設定には、ホスト名とポートが必須となります。</p>
<table class="config">
<tbody>
<tr class="header">
<th>パラメータ</th>
<th>型</th>
<th>デフォルト</th>
<th>説明</th>
</tr>
<tr>
<th>hostname</th>
<td>string</td>
<td><pre class="php"><code>'127.0.0.1'</code></pre></td>
<td>
ホスト名
</td>
</tr>
<tr>
<th>port</th>
<td>integer</td>
<td><pre class="php"><code>6379</code></pre></td>
<td>
接続を受け付けるポート
</td>
</tr>
<tr>
<th>timeout</th>
<td>mixed</td>
<td><pre class="php"><code>null</code></pre></td>
<td>
接続のタイムアウト
</td>
</tr>
<tr>
<th>database</th>
<td>integer</td>
<td><pre class="php"><code>0</code></pre></td>
<td>
0 が基点となるデータベース番号
</td>
</tr>
<tr>
<th>password</th>
<td>mixed</td>
<td><pre class="php"><code>null</code></pre></td>
<td>
データベースが認証を要求する場合のパスワード。
</td>
</tr>
</tbody>
</table>
<article>
<h4 class="method" id="method_forge">forge($name = 'default', $config = array())</h4>
<p>新しい名前の redis インスタンスを作成します。必要に応じて、設定を変更することができます。</p>
<table class="method">
<tbody>
<tr>
<th class="legend">静的</th>
<td>はい</td>
</tr>
<tr>
<th>パラメータ</th>
<td>
<table class="parameters">
<tr>
<th>パラメータ</th>
<th>デフォルト</th>
<th class="description">説明</th>
</tr>
<tr>
<th><kbd>$name</kbd></th>
<td><i><pre class="php"><code>'default'</code></pre></i></td>
<td>新しい redis インスタンスの名前。アプリケーションの db.php 設定ファイルであらかじめ定義しておくことができます。</td>
</tr>
<tr>
<th><kbd>$config</kbd></th>
<td><i><pre class="php"><code>array()</code></pre></i></td>
<td>カスタム設定。 db.php 設定ファイルで定義されている値を上書きすることができます。</td>
</tr>
</table>
</td>
</tr>
<tr>
<th>返り値</th>
<td>Fuel\Core\Redis オブジェクト</td>
</tr>
<tr>
<th>例</th>
<td>
<pre class="php"><code>// 'mystore' という Redis インスタンスを作成
$redis = Redis_Db::forge('mystore');</code></pre>
</td>
</tr>
</tbody>
</table>
</article>
<article>
<h4 class="method" id="method_instance">instance($name = 'default')</h4>
<p>以前に作成したインスタンスを名前を指定して返します。</p>
<table class="method">
<tbody>
<tr>
<th class="legend">静的</th>
<td>はい</td>
</tr>
<tr>
<th>パラメータ</th>
<td>
<table class="parameters">
<tr>
<th>パラメータ</th>
<th>デフォルト</th>
<th class="description">説明</th>
</tr>
<tr>
<th><kbd>$name</kbd></th>
<td><i><pre class="php"><code>'default'</code></pre></i></td>
<td>forge() メソッドで事前に作成されているインスタンスの名前。</td>
</tr>
</table>
</td>
</tr>
<tr>
<th>返り値</th>
<td>Fuel\Core\Redis オブジェクト</td>
</tr>
<tr>
<th>例</th>
<td>
<pre class="php"><code>// 'mystore' という Redis インスタンスを取り出す
$redis = Redis_Db::instance('mystore');</code></pre>
</td>
</tr>
</tbody>
</table>
</article>
<article>
<h4 id="redis_commands">Redis のコマンド</h4>
<p>一度 redis オブジェクトを作成したらあとは instance() メソッドを使います。様々な redis コマンド (<a href="http://redis.io/commands">Redis ドキュメント</a>を参照のこと) はオブジェクトのメソッドのように使うことができます。</p>
<p>いくつかの例:</p>
<pre class="php"><code>// 'mystore' という Redis インスタンスを作成
$redis = Redis_Db::forge('mystore');
// テストデータを作成
$redis->rpush('particles', 'proton');
$redis->rpush('particles', 'electron');
$redis->rpush('particles', 'neutron');
// 範囲を指定して取り出す
$particles = $redis->lrange('particles', 0, -1);
// 要素の数をカウント
$particle_count = $redis->llen('particles');
// 結果を表示
echo "<p>The {$particle_count} particles that make up atoms are:</p>";
echo "<ul>";
foreach ($particles as $particle) {
echo "<li>{$particle}</li>";
}
echo "</ul>";
</code></pre>
</article>
<article>
<h4 id="redis_pipelining">パイプライニング</h4>
<p>いくつかの Redis コマンドをつなげることができ、それは 1 度だけ実行されます。</p>
<p>例:</p>
<pre class="php"><code>// 'mystore' という Redis インスタンスを作成
$redis = Redis_Db::forge('mystore');
// いくつかの redis コマンドをパイプラインして実行
$result = $redis->pipeline()
->sadd('list', 4)
->sadd('list', 1)
->sadd('list', 55)
->execute();</code></pre>
</article>
</div>
<footer>
<p>
© FuelPHP Development Team 2010-2016 - <a href="http://fuelphp.com">FuelPHP</a> is released under the MIT license.
[ <a href="https://github.com/fuel/docs/commits/1.8/develop/classes/redis.html">原文コミット履歴</a> | <a href="https://github.com/NEKOGET/FuelPHP_docs_jp/commits/1.8/develop_japanese/classes/redis.html">翻訳コミット履歴</a> | <a href="https://github.com/NEKOGET/FuelPHP_docs_jp/blob/1.8/develop_japanese/classes/redis.html">GitHubで修正</a> ]
</p>
</footer>
</div>
</body>
</html>