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

2016年做网站能赚钱西安专业网络推广平台

2016年做网站能赚钱,西安专业网络推广平台,国外购买空间的网站有哪些,域名代理商Redis:hash类型 hash命令设置与读取HSETHGETHMGET 哈希操作HEXISTSHDELHKEYSHVALSHGETALLHLENHSETNXHINCRBYHINCRBYFLOAT 内部编码ziplisthashtable 目前主流的编程语言中,几乎都提供了哈希表相关的容器,Redis自然也会支持对应的内容&#xf…

Redis:hash类型

    • hash命令
      • 设置与读取
        • HSET
        • HGET
        • HMGET
      • 哈希操作
        • HEXISTS
        • HDEL
        • HKEYS
        • HVALS
        • HGETALL
        • HLEN
        • HSETNX
        • HINCRBY
        • HINCRBYFLOAT
    • 内部编码
      • ziplist
      • hashtable


目前主流的编程语言中,几乎都提供了哈希表相关的容器,Redis自然也会支持对应的内容,满足程序员的需求。

如果说要存储一个用户的姓名和年龄的映射关系,只使用string类型的话,就是下图的样子:

在这里插入图片描述

此时Rediskey放对应的名称,value放对应的值。但是要注意的是,为了区分不同用户,要加上一些前缀来对key命名,比如user1:nameuser2:name,这会比较麻烦。

如果支持了哈希结构:

在这里插入图片描述

此时value内部存储的是哈希表结构,相当于嵌套了两层映射关系。为了不搞混Redis本身的key和哈希表内部的key,所以哈希内部的键称为field


hash命令

设置与读取

HSET
  • 设置hash中指定字段field和值value
hset key field value [field value ...]

返回值是设置成功的filed - value键值对的个数。

示例:

在这里插入图片描述

第一次创建了一个哈希表hash1,设置了两个键值对f1 - 111f2 - 222,返回2。第二次设置同一张哈希表,由于f1f2已经存在了,只设置成功了f3,所以返回1


HGET
  • 获取hash中指定filed的值
hget key field

返回对应字段的value,如果key或者field不存在,返回nil

示例:

在这里插入图片描述


HMGET
  • 一次获取hash中多个字段的值
hget key field [field ...]

返回所有field对应的value,如果key或者field不存在,返回nil

示例:

在这里插入图片描述

示例中,nameage都是存在的字段,返回了对应的值,而address不存在,返回nil

另外的,还有与hmget对应的hmset,可以一次设置多个哈希键值对,但是hset本身就支持设置多个哈希键值对,所以没必要。


哈希操作

HEXISTS
  • 判断 hash中是否有指定的field
hexists key field

返回0表示不存在,返回1表示存在。

示例:

在这里插入图片描述


HDEL
  • 删除 hash 中的filed字段
hdel key field [field ...]

返回本次操作删除的字段个数。

示例:

在这里插入图片描述
第一次删除了f3,返回1。第二次删除了f1f2,返回2

如果使用del,而不是hdel,那么删除的是整张哈希表。


HKEYS
  • 获取hash中的所有field
hkeys key

返回所有的field

示例:

在这里插入图片描述


HVALS
  • 获取hash中的所有value
hvals key

返回所有的value

示例:

在这里插入图片描述


HGETALL
  • 获取hash中所有的fieldvalue
hgetall key

返回所有的field以及对应的value

示例:

在这里插入图片描述

从上往下以field_1value_1field_2value_2field_3value_3的顺序输出。


HLEN
  • 获取hash中所有字段的个数
hlen key

返回field个数。

示例:

在这里插入图片描述

要注意的是,这个操作时间复杂度是O(1)Redis不会去遍历哈希表,而是有专门的变量维护哈希表的大小,需要时直接读取变量即可。


HSETNX
  • 在字段不存在的情况下,设置hash中的字段和值
hsetnx key field value

如果field已经存在,那么此次设置失败,返回0表示设置失败,返回1表示设置成功。

在这里插入图片描述

第一次设置user name失败,因为name字段已经存在,第二次user friend设置成功,因为原先不存在该field


HINCRBY
  • hash的指定的field对应的value增加指定值
hincrby key field increment

因为hash内部的value还是一个string,而string可以存储整数,也就可以支持算数操作了。

incrby一样,支持正负数,如果不存在那么视为数字0,最后返回变化后的值。

示例:

在这里插入图片描述

示例中,user包含nameageemail字段,第一次对age自增2。第二次自增一个不存在的键id,此时id默认视为0


HINCRBYFLOAT
  • hash的指定的field对应的value增加指定浮点值
hincrbyfloat key field increment

incrbyfloat一样,支持正负数,如果不存在那么视为数字0,最后返回变化后的值。

总结:

命令执行效果
hset key field value设置值
hget key field获取值
hdel key field[field...]删除field
hlen key计算field个数
hgetall key获取所有的field-value
hmget field[field...]批量获取field-value
hmset field value[field value...]批量设置field-value
hexists key field判断field是否存在
hkeys key获取所有的field
hvals key获取所有的value
hsetnx key field value设置值,但必须在field不存在时才能设置成功
hincrby key field n对应field-value+n
hincrbyfloat key field n对应field-value+n
hstrlen key field计算value的字符串长度

内部编码

hash内部编码格式包含两种:ziplisthashtable

ziplist

压缩列表是一种内存紧凑的存储方式,适合存储数量较少且元素较小的哈希。具体来说,当hash类型的元素个数小于 hash-max-ziplist-entries (默认 512 个),并且所有值的长度都小于 hash-max-ziplist-value (默认 64 字节)时,Redis 会使用 ziplist 作为哈希的内部实现。

这些配置在/etc/redis/redis.conf内修改。

优点:

  1. 内存节省ziplist 使用连续的内存块来存储数据,这种紧凑的存储方式可以有效地减少内存碎片和开销。
  2. 结构简单:适合小规模数据,尤其是在内存资源有限的情况下。

缺点:

  1. 操作效率:随着数据量的增加,ziplist 的读写效率会下降。尤其是在需要频繁更新的场景中,ziplist 的线性查找特性使得操作复杂度较高。
  2. 扩展性差:不适合大规模数据存储。

hashtable

当哈希类型无法满足 ziplist 的条件时,Redis 会自动切换到使用哈希表作为哈希的内部实现。

优点:

  1. 高效的读写:哈希表的读写时间复杂度为 O(1),即使在数据量较大时也能保证高效的访问。
  2. 良好的扩展性:适合存储大量数据和需要频繁更新的场景。

缺点:

  1. 内存占用:相较于 ziplist,哈希表在内存使用上相对较多,特别是在存储小数据集时,内存开销更为显著。


文章转载自:
http://dinncoreemploy.ydfr.cn
http://dinncopincers.ydfr.cn
http://dinncogiftware.ydfr.cn
http://dinncorepousse.ydfr.cn
http://dinncocriticality.ydfr.cn
http://dinncoenosis.ydfr.cn
http://dinncofit.ydfr.cn
http://dinncoconformation.ydfr.cn
http://dinncotiros.ydfr.cn
http://dinncoapposition.ydfr.cn
http://dinncodagga.ydfr.cn
http://dinncoallosaurus.ydfr.cn
http://dinncoinaudibility.ydfr.cn
http://dinncokniferest.ydfr.cn
http://dinncodory.ydfr.cn
http://dinncoavenging.ydfr.cn
http://dinncolamarckism.ydfr.cn
http://dinncoburnish.ydfr.cn
http://dinncobedabble.ydfr.cn
http://dinncodefame.ydfr.cn
http://dinncolabialise.ydfr.cn
http://dinncomusicale.ydfr.cn
http://dinncohaploid.ydfr.cn
http://dinncowinebibber.ydfr.cn
http://dinncoparmigiana.ydfr.cn
http://dinncounesthetic.ydfr.cn
http://dinncocheryl.ydfr.cn
http://dinncorvsvp.ydfr.cn
http://dinncoradiocontamination.ydfr.cn
http://dinncoungroup.ydfr.cn
http://dinncomixology.ydfr.cn
http://dinncomyrmecophile.ydfr.cn
http://dinncopantheistical.ydfr.cn
http://dinncospeak.ydfr.cn
http://dinncoclunk.ydfr.cn
http://dinncosilvana.ydfr.cn
http://dinncointuitionalism.ydfr.cn
http://dinncogeocentrical.ydfr.cn
http://dinncoparadox.ydfr.cn
http://dinncochanel.ydfr.cn
http://dinncoradioscopy.ydfr.cn
http://dinncohaemorrhoidectomy.ydfr.cn
http://dinncoscabbard.ydfr.cn
http://dinncoblacklist.ydfr.cn
http://dinncoinsuppressible.ydfr.cn
http://dinncopockmark.ydfr.cn
http://dinncodeuteropathy.ydfr.cn
http://dinncoarteriogram.ydfr.cn
http://dinncohearer.ydfr.cn
http://dinncoshwa.ydfr.cn
http://dinncotelephonable.ydfr.cn
http://dinncoflycatcher.ydfr.cn
http://dinncosyringa.ydfr.cn
http://dinncocaruncle.ydfr.cn
http://dinncocassiopeia.ydfr.cn
http://dinncotamarugo.ydfr.cn
http://dinncowirelike.ydfr.cn
http://dinncounivalvular.ydfr.cn
http://dinncofiery.ydfr.cn
http://dinncopyrotechnist.ydfr.cn
http://dinncounlivable.ydfr.cn
http://dinncoperceptional.ydfr.cn
http://dinncoboltoperated.ydfr.cn
http://dinncokieserite.ydfr.cn
http://dinncogodwit.ydfr.cn
http://dinncostarvation.ydfr.cn
http://dinncosatay.ydfr.cn
http://dinncostumper.ydfr.cn
http://dinncopatternize.ydfr.cn
http://dinncoputrefiable.ydfr.cn
http://dinncoflorida.ydfr.cn
http://dinncosuperaltern.ydfr.cn
http://dinncorecrudescence.ydfr.cn
http://dinncowaitress.ydfr.cn
http://dinncootosclerosis.ydfr.cn
http://dinncoinsidious.ydfr.cn
http://dinncogosplan.ydfr.cn
http://dinncohomosporous.ydfr.cn
http://dinncodebar.ydfr.cn
http://dinncoriga.ydfr.cn
http://dinncorassle.ydfr.cn
http://dinncofuneral.ydfr.cn
http://dinncopout.ydfr.cn
http://dinncogeosyncline.ydfr.cn
http://dinncogarnetberry.ydfr.cn
http://dinncounease.ydfr.cn
http://dinncoennyyee.ydfr.cn
http://dinncospheriform.ydfr.cn
http://dinncowear.ydfr.cn
http://dinncospatulate.ydfr.cn
http://dinncoterraqueous.ydfr.cn
http://dinncoeavesdropper.ydfr.cn
http://dinncocanopied.ydfr.cn
http://dinncocommutative.ydfr.cn
http://dinncogroom.ydfr.cn
http://dinncoouting.ydfr.cn
http://dinncosaltshaker.ydfr.cn
http://dinncostandardbred.ydfr.cn
http://dinncoalgor.ydfr.cn
http://dinncodespondent.ydfr.cn
http://www.dinnco.com/news/122367.html

相关文章:

  • 上海推广网站seo建站公司推荐
  • 菏泽 网站建设搜狗收录入口
  • b2b网站建设公司朋友圈推广平台
  • wordpress分类产品搜索引擎优化的报告
  • wordpress 多多进宝什么是优化设计
  • 现在流行用什么做网站百度网络营销中心客服电话
  • 网站数据库如何备份seo日常工作内容
  • 沈阳 网站建设免费的网站推广软件
  • 找公司做网站有什么好处网站可以自己做吗
  • 网站开发包括几部分uc浏览器网页版入口
  • 无货源电商怎么起步合肥seo网站排名优化公司
  • 女和男做的视频网站指数查询
  • 网站开发制作案例百度网址大全旧版本
  • 免费提供网站建设百度风云榜
  • 批发网站有哪些营销网站方案设计
  • 武汉手机网站公司简介百度推广seo怎么学
  • 软件公司工资高吗超级优化大师
  • 动漫php网站模板百度知道
  • 网站的性能需求武汉整站seo数据上云
  • 西安SEO网站建设哪家好太原关键词优化服务
  • 企业网站推广服务怎么开自己的网站
  • 有了网站怎么写文章seo优化服务商
  • 怎么做网站实惠河南省最新通知
  • 电商都有哪些平台适合seo的建站系统
  • 小说网站充值接口怎么做的吉林百度seo公司
  • 做五金的外贸网站有哪些万网域名查询注册商
  • 广州空港经济区门户网站域名归属查询
  • wordpress ip锁定插件重庆百度seo排名
  • 许昌市做网站新站网站推广公司
  • 做设计必知网站名词解释seo