资讯专栏INFORMATION COLUMN

Redis 使用记录(三)

LoftySoul / 2066人阅读

摘要:应用场景适合存储结构化的数据例如一个用户的姓名生日等数据,如果使用存储,就要转换成字符串形式等,存储和修改都会很麻烦,但是可以很方便的实现。可以参考利用存储节约内存这篇文章。

Hash(哈希)

Hash 是一个 String 类型的 field 和value 的映射表。每个 Hash 可以存储 232 - 1 键值对 (40多亿)。

应用场景 Hash 适合存储结构化的数据

例如一个用户的姓名、生日等数据,如果使用 kye-value 存储,就要转换成字符串形式(json 等),存储和修改都会很麻烦,但是 Hash 可以很方便的实现。

Hash 可以节省内存
由于Hash结构会在单个Hash元素在不足一定数量时进行压缩存储,所以可以大量节约内存。

可以参考 Redis 利用Hash存储节约内存 这篇文章。

实例
hSet($redisKey, "name", $userName);// 设置key中的field值为value
echo $redis->hGet($redisKey, "name") . "
";// 获取key中field的值 kobe $redis->hSetNx($redisKey, "name", "Gasol");// field不存在时,才能设置 echo $redis->hGet($redisKey, "name") . "
";// 获取key中field的值 kobe $flag = $redis->hExists($redisKey, "name");// key中field是否存在 print_r($flag);// 1 echo "
"; $redis->hSet($redisKey, "number", $userNumber); $redis->hDel($redisKey, "number");// 删除key中field echo $redis->hGet($redisKey, "number");// 无数据 $redis->hMset($redisKey, array("age" => $userAge, "team" => $userTeam));// 批量存储多个field和value print_r($redis->hMGet($redisKey, array("age", "team")));// 批量获取多个field的值 Array ( [age] => 39 [team] => 湖人队 ) echo "
"; echo $redis->hLen($redisKey) . "
";// 获取key中有多少field 3 $redis->hSet($redisKey, "score", 2);// 设置value为数值 echo $redis->hGet($redisKey, "score") . "
";// 2 $redis->hIncrBy($redisKey, "score", 3);// 为数值增量 echo $redis->hGet($redisKey, "score") . "
";// 5 print_r($redis->hGetAll($redisKey));// 获取key中的所有field和value Array ( [name] => kobe [age] => 39 [team] => 湖人队 [score] => 5 ) echo "
"; print_r($redis->hKeys($redisKey));// 获取key中的所有field Array ( [0] => name [1] => age [2] => team [3] => score ) echo "
"; print_r($redis->hVals($redisKey));// 获取key中的所有value Array ( [0] => kobe [1] => 39 [2] => 湖人队 [3] => 5 ) echo "
";

参考资料:菜鸟教程。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/29947.html

相关文章

  • laravel-admin 使用记录) - 使用扩展

    摘要:导语有一些很方面的扩展可以使用,下面使用管理器。安装其实步骤很简单的,按照官方文档很快就好按照使用两步就安装好了,网址是,看下官方配图数据库选择配置信息命令行都支持,很不错。更多的扩展,可以查看下方链接。 导语 laravel-admin 有一些很方面的扩展可以使用,下面使用Redis 管理器。 安装 其实步骤很简单的,按照官方文档很快就好 composer 按照 composer ...

    bang590 评论0 收藏0
  • 【每日学习记录使用录像设备记录每天的学习

    摘要:在这里使用学而思网校的录像设备,记录每天学习的内容闫昌李乐阶段李乐李乐李乐李乐李乐李乐马运运李乐李乐李乐源码集群闫昌源码闫昌源码主从复制李乐源码施洪宝源码施洪宝韩天 在这里使用学而思网校的录像设备,记录每天学习的内容: 2019-06-24 ~ 2019-06-28 06-27 nginx by 闫昌 06-26 nginx module by 李乐 06-25 nginx http ...

    szysky 评论0 收藏0
  • Redis | 001能做什么?

    摘要:本博客猫叔的博客,转载请申明出处前言本系列整理出于深度历险核心原理与应用实践一书,摘抄整理读后感与总结。好的程序员都会说说能做什么呢记录帖子的点赞数评论数和点击数记录用户的帖子列表排序,便于快速显示用户的帖子列表记录帖子的标题摘要作者和封面 本博客 猫叔的博客,转载请申明出处 前言 本系列整理出于《Redis深度历险:核心原理与应用实践》一书,摘抄整理读后感与总结。 好的程序员都会Re...

    sherlock221 评论0 收藏0

发表评论

0条评论

LoftySoul

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<