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