redis 的哈希類型是每個 key 都對應一個 HashTable.比較適合存儲對象或者數組。php
hsetredis
描述:將哈希表key中的域field的值設爲value。若是key不存在,一個新的哈希表被建立並進行HSET操做。若是域field已經存在於哈希表中,舊值將被覆蓋。
參數:key field value
返回值:若是field是哈希表中的一個新建域,而且值設置成功,返回1。若是哈希表中域field已經存在且舊值已被新值覆蓋,返回0。數組
hmsetide
描述:同時將多個field - value(域-值)對設置到哈希表key中。此命令會覆蓋哈希表中已存在的域。若是key不存在,一個空哈希表被建立並執行HMSET操做。
參數:key field value [field value ...]
返回值:若是命令執行成功,返回OK。當key不是哈希表(hash)類型時,返回一個錯誤。spa
hmget對象
描述:返回哈希表key中,一個或多個給定域的值。若是給定的域不存在於哈希表,那麼返回一個nil值。由於不存在的key被看成一個空哈希表來處理,因此對一個不存在的key進行HMGET操做將返回一個只帶有nil值的表。
參數:key field [field ...]
返回值:一個包含多個給定域的關聯值的表,表值的排列順序和給定域參數的請求順序同樣。get
hgetallhash
描述:返回哈希表key中,全部的域和值。在返回值裏,緊跟每一個域名(field name)以後是域的值(value),因此返回值的長度是哈希表大小的兩倍。
參數:key
返回值:以列表形式返回哈希表的域和域的值。 若key不存在,返回空列表。域名
用於存儲用戶信息的:it
<?php
$redis = new Redis();
$redis -> connect('127.0.0.1', 6379);
$redis -> set('my_php_redis', 'install phpredis');
echo $redis -> get('my_php_redis');
$redis -> hset('zhlinfo', 'name', 'zhl');
$redis -> hset('zhlinfo', 'age', 26);
$redis -> hset('zhlinfo', 'address', 'China Beijing');
var_dump($redis -> hgetall('zhlinfo'));
echo $redis -> hget('zhlinfo', 'name');
echo $redis -> hget('zhlinfo', 'age');
echo $redis -> hget('zhlinfo', 'address');
$arr = array('name' => 'cjq', 'age'=> '23', 'address' => 'China Beijing', 'hobby'=>'travelling');
$redis -> hmset('cjqinfo', $arr);
var_dump($redis->hmget('cjqinfo'));
echo $redis->hget('cjqinfo','hobby');
$redis -> setTimeout('cjqinfo', 5); //設置過時時間
sleep(5);
echo 5;
var_dump($redis->hmget('cjqinfo'));