PHP Redis的使用方法总结
由于关于phpreids用法的日语信息较少,所以我将对其进行总结。
筹备工作
-
- Redisのインストール
- phpredisのインストール
由于环境不同,安装方法也会有所不同,在这里我们省略。
<?php
$redis = new Redis();
$redis->connect('127.0.0.1', 6379);
echo $redis->ping();
如果输出为PONG,则表示OK。
能够在Redis中处理的数据类型。
-
- String
-
- List
-
- Set
-
- Sorted Set
- Hash
将以下内容以中文进行本地化释义,只需要一个选项:
字符串
对于键(Key),它可以是字符串、数字等唯一确定的值。
<?php
$redis = new Redis();
$redis->connect('127.0.0.1', 6379);
// hogeというkeyにhugaという値をセット
$redis->set('hoge', 'huga');
// 値を取得する
$value = $redis->get('hoge');
// 表示
echo $value; // huga
列举
有序值的集合
<?php
$redis = new Redis();
$redis->connect('127.0.0.1', 6379);
// lPushは先頭、rPushは末尾に値をpush
$redis->rPush('hoge', 'a');
$redis->rPush('hoge', 'b');
$redis->lPush('hoge', 'c');
$redis->lPush('hoge', 'd');
// 値をすべて取得する -1はすべて
$value = $redis->lRange('hoge', 0, -1);
// 表示
var_dump($value);
array(4) {
[0] =>
string(1) "d"
[1] =>
string(1) "c"
[2] =>
string(1) "a"
[3] =>
string(1) "b"
}
设定
一组不同数值的集合,不允许重复。
<?php
$redis = new Redis();
$redis->connect('127.0.0.1', 6379);
// 値を追加
$redis->sAdd('hoge1' , '1');
$redis->sAdd('hoge1' , '2');
$redis->sAdd('hoge2' , '2');
$redis->sAdd('hoge2' , '3');
$redis->sAdd('hoge2' , '4');
// 和、積、差を取得する
$union = $redis->sUnion('hoge1', 'hoge2');
$inter = $redis->sInter('hoge1', 'hoge2');
$diff = $redis->sDiff('hoge1', 'hoge2');
// 表示
var_dump($union);
var_dump($inter);
var_dump($diff);
/*
array(4) {
[0] =>
string(1) "1"
[1] =>
string(1) "2"
[2] =>
string(1) "3"
[3] =>
string(1) "4"
}
array(1) {
[0] =>
string(1) "2"
}
array(1) {
[0] =>
string(1) "1"
}
*/
排好序的集合
除了与集合类型类似的特点之外,每个个体都具有一个分数。
<?php
$redis = new Redis();
$redis->connect('127.0.0.1', 6379);
// スコアと値を追加
$redis->zAdd('hoge' , 10, 'a');
$redis->zAdd('hoge' , 20, 'b');
$redis->zAdd('hoge' , 30, 'c');
$redis->zAdd('hoge' , 40, 'd');
$redis->zAdd('hoge' , 50, 'e');
$redis->zAdd('hoge' , 60, 'f');
// ソート済のスコアを取得
$value = $redis->zRangeByScore('hoge', 0, 60);
// 表示
var_dump($value);
/*
array(6) {
[0] =>
string(1) "a"
[1] =>
string(1) "b"
[2] =>
string(1) "c"
[3] =>
string(1) "d"
[4] =>
string(1) "e"
[5] =>
string(1) "f"
}
*/
哈希
字段和值的集合,其中字段和值一一对应
<?php
$redis = new Redis();
$redis->connect('127.0.0.1', 6379);
// 値をセット
$redis->hSet('hoge', 'hoge1', 1);
$redis->hSet('hoge', 'hoge2', 2);
$redis->hSet('hoge', 'hoge3', 3);
// 値を取得
$value1 = $redis->hGet('hoge', 'hoge1');
$value2 = $redis->hGet('hoge', 'hoge2');
$all = $redis->hGetAll('hoge');
// 表示
var_dump($value1);
var_dump($value2);
var_dump($all);
/*
string(1) "1"
string(1) "2"
array(3) {
'hoge1' =>
string(1) "1"
'hoge2' =>
string(1) "2"
'hoge3' =>
string(1) "3"
}
*/