memcached密钥

memcached密钥

问题描述:

Is it possible?

$mc = new Memcached();
$mc->addServer("127.0.0.1", 11211);
$data = array(

         'key_one' => array('something' => '0',
                          'something_else1' => 1,
                          'something_else2' => 2,
                          'something_else3' => 3,
                         ),

          'key_two' =>   array('something' => '0',
                         'something_else1' => 1,
                         'something_else2' => 2,
                         'something_else3' => 3,
                         )
         );
$result = $mc->get("data['key_one']['something_else2']");
if($result) {
  echo $result;
} else {
  echo "No data on Cache. Please refresh page pressing F5";
  $mc->set("data", $data,15) or die ("Failed to save data at Memcached server");
}

是否可以? p>

  $ mc = new Memcached(  ); 
 $ mc-> addServer(“127.0.0.1”,11211); 
 $ data = array(
 
'key_one'=> array('something'=>'0',\  n'thing_else1'=> 1,
'thing_else2'=> 2,
'something_else3'=> 3,
),
 
'key_two'=> array('something'=>  ;'0',
'something_else1'=> 1,
'something_else2'=> 2,
'something_else3'=> 3,
)
); 
 $ result = $ mc-  > get(“data ['key_one'] ['something_else2']”); 
if($ result){
 echo $ result; 
} else {
 echo“没有关于缓存的数据。请刷新页面按 F5“; 
 $ mc-> set(”data“,$ data,15)或die(”无法在Memcached服务器上保存数据“); 
} 
  code>  pre> 
   DIV>

Your set() should work:

$mc->set('data', $data, 15);

And to get():

$result = $mc->get('data');
$something = $result['key_one']['something_else2'];
//or PHP >= 5.4.0
$result = $mc->get('data')['key_one']['something_else2'];

No, will not work. Memcached is a Key-Value store. So you can retrieve the data stored by a unique key. What will work is:

$_temp_result = $mc->get('key_one');
$result = $_temp_result['something_else2']

Assuming the data is stored in Memcached as shown in $data

Hmm okey but how about set multi, wich could be correct?

$mc->set('data')['key_deeper_1'],$value, $expired_time);

or

$data = array('key_1' => array(
                                  'key_deeper_1' => 'value',
                                  'key_deeper_2' => 'value',

                              )
             );

$mc->set('data',$value, $expired_time);
$mc-> get('data')['key_deeper_1'];