2015-06-08 62 views
0

我很熟悉Redis,看到redis常問問題後,我有一個關於hmset的問題。hmset redis來自mysqlDB的結果

hmset似乎是我從我的mysql數據庫中存儲用戶行的最佳方式。 所以,如果我有一個數組從MySQL這樣的返回:

 array(
'userid' => 1, 
    'username' => 'test', 
    'password' => 'example2222', 
    'health' => 120 
    ); 

我怎麼能輕鬆地插入這對Redis的hmset或做出將採取的結果,使從陣列中的hmset的功能可按?

ETG:

user:1 username test password example2222 health 120 

我想是這樣。

如果userid在redis中不存在 - >從MYsqlDB獲取該行並使用結​​果執行redis hmset。

回答

0

我使用Predis來存儲您的陣列,代碼測試

$data = array(
     'userid' => 1, 
     'username' => 'test', 
     'password' => 'example2222', 
     'health' => 120 
    ); 

    Predis::instance()->hmset('uid-' . $data['userid'], $data); 
    die(); 

enter image description here

+0

謝謝! 另一個問題,我怎麼能得到redis的結果,但成爲一排? 您是否希望將其設置爲一行或使用redis以便稍後使用hget用戶進行處理:1? – maria

+0

如果null從數據庫獲取並插入到redis中,您應該使用HGETALL獲取緩存的數據 – tienrocker

+0

如果它已經存在,或者使用redis從後續使用hget用戶進行處理,您是否希望在從redis獲取它之後將其更改爲一行: 1? – maria