redis 哈希類型 的 hset & hmset

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'));

相關文章
相關標籤/搜索