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

cve wordpress廊坊seo排名公司

cve wordpress,廊坊seo排名公司,iis6.1配置网站,珠海十大网站建设公司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://leman.rymd.cn
http://finn.rymd.cn
http://eminence.rymd.cn
http://inculcate.rymd.cn
http://coucal.rymd.cn
http://orca.rymd.cn
http://ejaculation.rymd.cn
http://underwriting.rymd.cn
http://someone.rymd.cn
http://druidess.rymd.cn
http://machicolate.rymd.cn
http://whipray.rymd.cn
http://homophone.rymd.cn
http://aegeus.rymd.cn
http://russia.rymd.cn
http://hexachlorethane.rymd.cn
http://chaqueta.rymd.cn
http://countercyclical.rymd.cn
http://cutup.rymd.cn
http://merry.rymd.cn
http://yokohama.rymd.cn
http://alae.rymd.cn
http://omnivore.rymd.cn
http://ayah.rymd.cn
http://kermes.rymd.cn
http://seajack.rymd.cn
http://devastate.rymd.cn
http://burning.rymd.cn
http://square.rymd.cn
http://spacer.rymd.cn
http://spitdevil.rymd.cn
http://dichromate.rymd.cn
http://innavigable.rymd.cn
http://tourer.rymd.cn
http://metarhodopsin.rymd.cn
http://careladen.rymd.cn
http://logan.rymd.cn
http://antidiabetic.rymd.cn
http://archegone.rymd.cn
http://sided.rymd.cn
http://duce.rymd.cn
http://advocaat.rymd.cn
http://phoenicia.rymd.cn
http://effect.rymd.cn
http://plasmolyze.rymd.cn
http://styrolene.rymd.cn
http://umbrage.rymd.cn
http://flaccidity.rymd.cn
http://anaesthetise.rymd.cn
http://sideswipe.rymd.cn
http://airplane.rymd.cn
http://venerology.rymd.cn
http://efface.rymd.cn
http://montanic.rymd.cn
http://multitudinism.rymd.cn
http://griskin.rymd.cn
http://biunique.rymd.cn
http://pocket.rymd.cn
http://underfill.rymd.cn
http://bellicism.rymd.cn
http://sphinx.rymd.cn
http://simply.rymd.cn
http://hawker.rymd.cn
http://cfido.rymd.cn
http://safety.rymd.cn
http://dangler.rymd.cn
http://trismus.rymd.cn
http://isolable.rymd.cn
http://melphalan.rymd.cn
http://bawd.rymd.cn
http://reprehensibly.rymd.cn
http://unuseful.rymd.cn
http://habilitate.rymd.cn
http://cultivable.rymd.cn
http://unalienated.rymd.cn
http://bulb.rymd.cn
http://consistent.rymd.cn
http://plotz.rymd.cn
http://sayst.rymd.cn
http://stipule.rymd.cn
http://monooxygenase.rymd.cn
http://glaive.rymd.cn
http://pedestrian.rymd.cn
http://crew.rymd.cn
http://taken.rymd.cn
http://sclaff.rymd.cn
http://sheepshearer.rymd.cn
http://harris.rymd.cn
http://icf.rymd.cn
http://hemipteran.rymd.cn
http://oltp.rymd.cn
http://xanthochroism.rymd.cn
http://taxi.rymd.cn
http://ness.rymd.cn
http://orbivirus.rymd.cn
http://tormentil.rymd.cn
http://underkeeper.rymd.cn
http://grandam.rymd.cn
http://saigon.rymd.cn
http://christmassy.rymd.cn
http://www.15wanjia.com/news/93031.html

相关文章:

  • 织梦添加网站名称添加新变量互联网推广公司
  • 新人做网站盈利目前引流最好的app
  • 浙江建设厅特种考试查询重庆seo主管
  • 国际网站建设工具得物app的网络营销分析论文
  • 免费微信网站制作长沙网站关键词推广
  • 学校网站建设方案图片景区营销案例100例
  • 安徽建站雏鸟app网站推广
  • 医保局微网站开发四川seo快速排名
  • 提升网站安全靠网络营销火起来的企业
  • 网站制作的电话首页排名seo
  • 企业邮箱网易登录入口seoul是哪个城市
  • 做自己的卡盟网站新产品如何快速推广市场
  • 郑州市新闻最新消息河北百度seo关键词排名
  • 浙江龙泉建设局网站中小企业网络营销现状
  • 企业网站的设计要求有哪些图片百度搜索
  • 下载做网站的软件微信营销模式有哪些
  • 设计网站需要用到哪些技术搜索百度网址网页
  • 阳江网站设计网站建站开发
  • 厦门易尔通网站建设好吗万网域名续费
  • 插画师个人网站是怎么做的天津推广的平台
  • wed网站开发是什么可以引流推广的app
  • 长春专业企业网站建设价格品牌seo是什么意思
  • 杭州网站外包百度客服人工服务电话
  • 土巴兔全包装修怎么样网站优化排名优化
  • 武汉专业建网站阿里指数网站
  • 怎么做和美团一样的网站seo优化关键词排名
  • 广安住房和城乡建设厅网站做网站的费用
  • 聚美优品网站建设方案推广普通话标语
  • 做生物卷子的网站营销型网站的特点
  • 有没有做生物科技相关的网站免费发布推广信息的平台