当前位置: 首页 > 后端技术 > PHP

Redis使用记录(三)

时间:2023-03-30 00:30:27 PHP

哈希(hash)哈希是String类型字段和值的映射表。每个Hash可以存储232-1个键值对(超过40亿)。应用场景Hash适用于存储结构化数据,如用户姓名、生日等数据。如果使用kye-value来存储,必须转成字符串形式(json等)。存储和修改会比较麻烦,但是Hash可以很方便的实现。哈希可以节省内存。由于Hash结构在单个Hash元素小于一定数量时会被压缩存储,因此可以节省大量内存。可以参考Redis使用Hash存储来节省内存这篇文章。ExamplehSet($redisKey,'name',$userName);//设置key中的字段值为valueecho$redis->hGet($redisKey,'name').'
';//获取key中字段的值kobe$redis->hSetNx($redisKey,'name','Gasol');//只有当字段不存在时,才回显$redis->hGet($redisKey,'名称')。'
';//获取key中字段的值kobe$flag=$redis->hExists($redisKey,'name');//key中字段是否存在print_r($flag);//1echo'
';$redis->hSet($redisKey,'number',$userNumber);$redis->hDel($redisKey,'number');//删除keyredis中的fieldecho$->hGet($redisKey,'number');//没有数据$redis->hMset($redisKey,array('age'=>$userAge,'team'=>$userTeam));//批量存储多个fieldsandvalueprint_r($redis->hMGet($redisKey,array('age','team')));//批量获取多个字段的值Array([age]=>39[team]=>湖人队)echo'
';回显$redis->hLen($redisKey)。'
';//获取key中有多少字段3$redis->hSet($redisKey,'score',2);//设置value为一个值echo$redis->hGet($redisKey,'分数')。'
';//2$redis->hIncrBy($redisKey,'score',3);//是值增量echo$redis->hGet($redisKey,'score').'
';//5print_r($redis->hGetAll($redisKey));//获取key数组中的所有字段和值([name]=>kobe[age]=>39[team]=>Lakers[score]=>5)echo'
';print_r($redis->hKeys($redisKey));//获取键数组中的所有字段([0]=>name[1]=>age[2]=>team[3]=>score)echo'
';print_r($redis->hVals($redisKey));//获取key中的所有值Array([0]=>kobe[1]=>39[2]=>Lakers[3]=>5)echo'
';参考:菜鸟教程