Skip to content

Instantly share code, notes, and snippets.

@mgng
Created December 21, 2012 14:42
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save mgng/4353210 to your computer and use it in GitHub Desktop.
Save mgng/4353210 to your computer and use it in GitHub Desktop.
Redis で prefix つけると、キー一覧引っ張ってきてループ処理するときに面倒
<?php
$prefix = 'TEST:';
$redis = new Redis();
$redis->connect( '127.0.0.1', 6379 );
$redis->setOption( Redis::OPT_PREFIX, $prefix );
// set
$redis->set( 'key1', 'val1' );
$redis->set( 'key2', 'val2' );
$redis->set( 'key3', 'val3' );
// キー一覧ループして値get
foreach( $redis->keys('*') as $key ) {
var_dump( $redis->get( $key ) ); // bool(false)
}
-1048797351.474730 "SET" "TEST:key1" "val1"
-1048797351.474730 "SET" "TEST:key2" "val2"
-1048797351.474730 "SET" "TEST:key3" "val3"
-1048797351.474730 "KEYS" "TEST:*"
-1048797351.474730 "GET" "TEST:TEST:key1"
-1048797351.474730 "GET" "TEST:TEST:key2"
-1048797351.474730 "GET" "TEST:TEST:key3"
<?php
$prefix = 'TEST:';
$redis = new Redis();
$redis->connect( '127.0.0.1', 6379 );
$redis->setOption( Redis::OPT_PREFIX, $prefix );
// set
$redis->set( 'key1', 'val1' );
$redis->set( 'key2', 'val2' );
$redis->set( 'key3', 'val3' );
// キー一覧ループして値get
foreach( $redis->keys('*') as $key ) {
var_dump( $redis->get( preg_replace('/\A(' . preg_quote( $prefix ) . ')/u', '', $key) ) );
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment