当前位置: 首页 > news >正文

微网站管理二维码生成器在线制作二维码

微网站管理,二维码生成器在线制作二维码,用老域名重新做个网站,网站建设业务终止合作范本hash 哈希类型中的映射关系通常称为field-value,⽤于区分 Redis 整体的键值对(key-value),注意这⾥的value是指field对应的值,不是键(key)对应的值,请注意 value 在不同上下⽂的作⽤…

hash

哈希类型中的映射关系通常称为field-value,⽤于区分 Redis 整体的键值对(key-value),注意这⾥的value是指field对应的值,不是键(key)对应的值,请注意 value 在不同上下⽂的作⽤。

hash常用命令

hset

作用:设置 hash 中指定的字段(field)的值(value)
语法:HSET key field value [field value ...]
返回值:添加的字段的个数。
在这里插入图片描述

hget

作用:获取 hash 中指定字段的值。
语法:HGET key field
返回值:字段对应的值或者 nil。
在这里插入图片描述

hexists

作用:判断hash中是否有指定的 field
语法:HEXISTS key field
返回值:1 表⽰存在,0 表⽰不存在。
在这里插入图片描述

hdel

作用:删除 hash 中指定的字段,hdel删除的是field
返回值:本次操作删除的字段个数
语法:HDEL key field [field ...]
在这里插入图片描述
注意:
del 删除的是 key
hdel 删除的是 field

hkeys

作用:获取hash中的所有字段(field)。 这个操作先根据 key 找到对应的 hash, 然后再遍历 hash
语法:HKEYS key
在这里插入图片描述

hvals

作用:获取 hash 中的所有的 field 对应的value值。
语法:HVALS key
在这里插入图片描述

hgetall

作用:hgetall相当于是hkeys和hvals的结合,用来获取 hash 中的所有 field以及对应的value。
语法:HGETALL key
在这里插入图片描述

hmget

在使⽤ hgetall时,如果哈希元素个数⽐较多,会存在阻塞Redis的可能。如果开发⼈员只需要获取部分field,可以使⽤ hmget
作用:⼀次获取 hash 中多个 field 对应的 value
语法:HMGET key field [field …]
在这里插入图片描述

hlen

作用:获取hash中 field 的个数。
语法:HLEN key
在这里插入图片描述

hsetnx

作用:类似于 setnx 在字段不存在的情况下,才能设置成功,如果存在则失败
语法:HSETNX key field value
在这里插入图片描述

hincrby

作用:把hash这里的value也可以当作成数字来处理,进行加减整数
语法:HINCRBY key field increment
在这里插入图片描述

hincrbyfloat

作用:进行加减小数
语法:HINCRBYFLOAT key field increment
在这里插入图片描述

编码方式

在redis 6 版本之前哈希的内部编码有两种:

  • ziplist(压缩列表):当哈希类型元素个数小于hash-max-ziplist-entries配置(默认512个)同时所有值都⼩于hash-max-ziplist-value配置(默认64字节)时,Redis会使⽤ziplist作为哈希的内部实现,ziplist使⽤更加紧凑的结构实现多个元素的连续存储,所以在节省内存⽅⾯⽐hashtable更加优秀。

  • hashtable(哈希表):当哈希类型⽆法满⾜ziplis的条件时,Redis会使⽤hashtable 作为哈希的内部实现,因为此时ziplist的读写效率会下降,⽽hashtable的读写时间复杂度为O(1)。

在redis 6 之后哈希的内部编码新增了listpack编码,用来替代ziplist编码。

应用

缓存

string 虽然也是可以作为缓存使用,但是存储结构化的数据,使用 hash 类型更合适一些~~

下图为关系型数据表记录的两条用户信息,用户的属性表现为表的列,每条⽤⼾信息表现为⾏。

uidnameagecity
1James28Beijing
2Johnathan30Xian

如果映射关系表⽰这两个用户信息,其中先根据user和uid来作为 hash 的 key值来区分每个不同的用户,多对field-value对应用户的各个属性,则如下图所示:
在这里插入图片描述
上述场景中使用 string 类型也能做到缓存,但是就需要使用到 json 这样的数据结构

  • 但是如果使用 string (json)这种的格式来做缓存,万一只想获取其中的某个 field 时,就需要把整个 json 都要读取出来,并解析构成一个对象来操作 field,最后在重新序列化 json 字符串,最后写回 redis。
  • 如果使用 hash 的方式来表示上述用户信息,就可以使用 field 表示对象的每个属性(数据表的每个列),此时就可以非常方便的修改/获取任何一个属性的值。

但是需要注意的是哈希类型和关系型数据库有两点不同之处:

  • 哈希类型是稀疏的,⽽关系型数据库是完全结构化的,例如哈希类型每个键可以有不同的 field,⽽关系型数据库⼀旦添加新的列,所有⾏都要为其设置值,即使为 null。
  • 关系数据库可以做复杂的关系查询,而 Redis 去模拟关系型复杂查询,例如联表查询、聚合查询等基本不可能,维护成本⾼。
http://www.yayakq.cn/news/696189/

相关文章:

  • 求个网站好人有好报2023深圳网站设计官网
  • 长春网站改版网站如何做下载文档
  • 一个网站如何做cdn加速器小型购物网站建设
  • 什么网站算是h5做的做健身网站
  • 网站建设费摊销优秀网页制作模板
  • 沧州网站建设优化公司微信5000人接推广费用
  • 会声会影模板免费网站如何找网站
  • 凡科网站怎么做友情链接app制作平台推荐
  • 网站优化 代码黔东网站建设
  • 国内单页网站开源wordpress
  • 专业房产网站建设公司wordpress 自写插件
  • 小公司如何做网站在哪些网站做推广比较好
  • 企业网站属于下面哪种媒体类型珠海斗门建设局网站
  • 女装网站模板wordpress cx-udy
  • 上海如何优化网站做公众号推广的公司
  • 加强学校网站建设和宣传工作学校网站 网站建设
  • 建个企业网站linuxvps建站教程
  • 代码网站模板怎么做上海网站建设网络推广
  • 网站建设要经历哪些步骤佛山做网站公司有哪些
  • idc 网站源码动漫视频网站开发
  • 高端网站建设公司哪家更专业小程序登录怎么退出账号
  • 最大的域名注册网站是那个建站之星破解版手机
  • 临沂网站建设平台wordpress ico不显示
  • 网站网址怎么做二维码论坛网站 备案
  • 建站程序的选择wordpress添加新的模板
  • 云南网站建设企业推荐wordpress自定义数据库
  • 点点站长工具爱站网官网
  • 现代化的中国风网站营销型网站模板
  • 电子商务网站开发课程设计深圳有名的建筑公司
  • 过期的网站域名单页网站cpa虚拟主机