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"
}
*/
广告
将在 10 秒后关闭
bannerAds