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

单页网站下载美食网页

单页网站下载,美食网页,网站开发笔试题,儿童编程网课平台哪个好Redis#xff1a;hash类型 hash命令设置与读取HSETHGETHMGET 哈希操作HEXISTSHDELHKEYSHVALSHGETALLHLENHSETNXHINCRBYHINCRBYFLOAT 内部编码ziplisthashtable 目前主流的编程语言中#xff0c;几乎都提供了哈希表相关的容器#xff0c;Redis自然也会支持对应的内容#xf… Redishash类型 hash命令设置与读取HSETHGETHMGET 哈希操作HEXISTSHDELHKEYSHVALSHGETALLHLENHSETNXHINCRBYHINCRBYFLOAT 内部编码ziplisthashtable 目前主流的编程语言中几乎都提供了哈希表相关的容器Redis自然也会支持对应的内容满足程序员的需求。 如果说要存储一个用户的姓名和年龄的映射关系只使用string类型的话就是下图的样子 此时Redis的key放对应的名称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 - 111、f2 - 222返回2。第二次设置同一张哈希表由于f1和f2已经存在了只设置成功了f3所以返回1。 HGET 获取hash中指定filed的值 hget key field返回对应字段的value如果key或者field不存在返回nil。 示例 HMGET 一次获取hash中多个字段的值 hget key field [field ...]返回所有field对应的value如果key或者field不存在返回nil。 示例 示例中name和age都是存在的字段返回了对应的值而address不存在返回nil。 另外的还有与hmget对应的hmset可以一次设置多个哈希键值对但是hset本身就支持设置多个哈希键值对所以没必要。 哈希操作 HEXISTS 判断 hash中是否有指定的field hexists key field返回0表示不存在返回1表示存在。 示例 HDEL 删除 hash 中的filed字段 hdel key field [field ...]返回本次操作删除的字段个数。 示例 第一次删除了f3返回1。第二次删除了f1和f2返回2。 如果使用del而不是hdel那么删除的是整张哈希表。 HKEYS 获取hash中的所有field hkeys key返回所有的field。 示例 HVALS 获取hash中的所有value hvals key返回所有的value。 示例 HGETALL 获取hash中所有的field和value hgetall key返回所有的field以及对应的value。 示例 从上往下以field_1、value_1、field_2、value_2、field_3、value_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包含name、age、email字段第一次对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...]删除fieldhlen key计算field个数hgetall key获取所有的field-valuehmget field[field...]批量获取field-valuehmset field value[field value...]批量设置field-valuehexists key field判断field是否存在hkeys key获取所有的fieldhvals key获取所有的valuehsetnx key field value设置值,但必须在field不存在时才能设置成功hincrby key field n对应field-valuenhincrbyfloat key field n对应field-valuenhstrlen key field计算value的字符串长度 内部编码 hash内部编码格式包含两种ziplist和hashtable。 ziplist 压缩列表是一种内存紧凑的存储方式适合存储数量较少且元素较小的哈希。具体来说当hash类型的元素个数小于 hash-max-ziplist-entries 默认 512 个并且所有值的长度都小于 hash-max-ziplist-value 默认 64 字节时Redis 会使用 ziplist 作为哈希的内部实现。 这些配置在/etc/redis/redis.conf内修改。 优点 内存节省 ziplist 使用连续的内存块来存储数据这种紧凑的存储方式可以有效地减少内存碎片和开销。结构简单适合小规模数据尤其是在内存资源有限的情况下。 缺点 操作效率随着数据量的增加ziplist 的读写效率会下降。尤其是在需要频繁更新的场景中ziplist 的线性查找特性使得操作复杂度较高。扩展性差不适合大规模数据存储。 hashtable 当哈希类型无法满足 ziplist 的条件时Redis 会自动切换到使用哈希表作为哈希的内部实现。 优点 高效的读写哈希表的读写时间复杂度为 O(1)即使在数据量较大时也能保证高效的访问。良好的扩展性适合存储大量数据和需要频繁更新的场景。 缺点 内存占用相较于 ziplist哈希表在内存使用上相对较多特别是在存储小数据集时内存开销更为显著。
http://www.w-s-a.com/news/98789/

相关文章:

  • 手机网站怎么制作影响力网站建设
  • 猪八戒网站做私活赚钱吗一尊网 又一个wordpress站点
  • 上海市做网站的公司滨州哪里做网站
  • 简单的网站建设步骤wordpress 贴吧主题
  • 金泉网做网站找谁表格做网站
  • 北京做兼职从哪个网站好江西省建设监督网站电子网
  • 什么网站做生鲜比较好安徽建设厅城乡官网
  • 域名购买网站有哪些问题上海装修网站建设
  • 找人做seo要给网站程序河北建设网网站
  • 哪家做网站性价比高wordpress最新文章链接插件
  • 维修网站怎么做移动互联网应用程序指的是什么
  • 张家界建设网站门户网站的建设原理
  • 企业通用网站模板湖南网站建设企业
  • 能看网站的视频app如何运行asp网站
  • 公司做网站还是做阿里好呢国外的旅游网站做的如何
  • 怎么做wep网站长沙seo排名公司
  • 海南网站网络推广做转运网站
  • 门户网站方案用户等待网站速度
  • 哈尔滨专业建网站方案深圳生活免费信息网
  • 检测网站是否被挂黑链wordpress 网址分享
  • 网站建设贵阳东莞网站建设策划
  • 网站5建设需要学什么桃城网站建设公司
  • 杭州外贸网站企业门户网站的安全性
  • 建设论坛网站需要做什么水果电商网站建设相关文献
  • 群晖 nas 做网站建设网站的报价
  • 白山做网站网站建设 app 优化
  • 畜牧业网站建设官方网站下载拼多多app
  • 网站规划和布局备案网站地址
  • 站长工具流量统计招工信息发布平台
  • 上海网站建设公司排行建设无障碍网站