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

redis-学习笔记(hash)

Redis 自身已经是 键值对 结构了
Redis 自身的键值对就是通过 哈希 的方式来组织的
把 key 这一层组织完成后, 到了 value 这一层, 还可以用 哈希类型 来组织
(简单的说就是哈希里面套哈希 [数组里面套数组 -> 二维数组] )
[ field value ]

在这里插入图片描述


hset key field value [ field value ... ]

返回值是设置成功的键值对 ( field - value ) 的个数

在这里插入图片描述


hget key field

获取 key 对应的值中 field 对应的哈希值

在这里插入图片描述


hdel key field [field ...]

删除 hash 中指定的字段, 返回本次操作删除的字段个数

在这里插入图片描述


hexists key field 

判断该字段存不存在, 存在返回 1 , 不存在返回 0

在这里插入图片描述


hkys key 

根据 key , 获取到对应的 hash
(该操作有风险, 类似于之前的 " keys * ", 没事儿别乱用, 小心一波带走年终奖 )
在这里插入图片描述


hvals key 

和 " hkeys key " 对应, 能够获取到 一个 hash (field) 中所有的 value

在这里插入图片描述


hgetall key 

查询 key 下的所有 field, 以及所有的 hash 对应的值

在这里插入图片描述


hmget key field [field ...]

可以同时查询多个 hash (field) 对应的值

在这里插入图片描述


hscan key curson [match pattern] [COUNT count]

从下标 curson 开始 获取 count (默认为 10) 个 匹配 pattern 的数据
属于 “渐进式遍历”
像之前的 hkeys, hvals, hgetall 都是一次性遍历, 具有很高的风险, 但是渐进式遍历类似于, 敲一次命令, 遍历一部分, 再敲一次, 再遍历一部分… 连续多次执行, 以完成整个查询操作, 中间可以穿插其他的命令操作, 因此不会造成查询耗时太长, 阻塞 redis
在这里插入图片描述
我也不太会这个, 你就把他, 理解成分页查询, 一次最多取多少, 第一行返回的游标代表, 你下次从哪里选择的起点(输入其他的数字可能会查重复了)


hlen key 

获取 hash 的元素个数,
O(1) , 不需要遍历 ( 相当于自带一个标记长度的 length 数字 )

在这里插入图片描述


hsetnx key field vlaue

类似于 setnx , 不存在才能设置成功
如果存在, 则设置失败

在这里插入图片描述


hash 这里的 value 也可以当作数字来处理
hincrby 可以加减整数
hincrbyfloat 可以加减小数
但是使用频率不高,

相关文章:

  • 企业级SQL开发:如何审核发布到生产环境的SQL性能
  • arm平台编译so文件回顾
  • SSL证书更新
  • 离线数仓构建案例一
  • 16ASM 分段和机器码
  • 1. 使用poll或epoll创建echo服务器
  • 【小米电脑管家】安装使用教程--非小米电脑
  • [ 蓝桥杯Web真题 ]-布局切换
  • 计算机毕业设计 SpringBoot的医院门诊在线挂号系统 Javaweb项目 Java实战项目 前后端分离 文档报告 代码讲解 安装调试
  • 使用linux CentOS本地部署SQL Server数据库
  • c#编码技巧(十五):新语法糖record深入分析
  • echarts词云图echarts-wordcloud使用方法
  • HarmonyOS--ArkTS(1)--基本语法(1)
  • c++新经典模板与泛型编程:const修饰符的移除与增加
  • Python函数和模块:编程的魔法函数
  • 「前端早读君006」移动开发必备:那些玩转H5的小技巧
  • 30天自制操作系统-2
  • Angularjs之国际化
  • angular组件开发
  • avalon2.2的VM生成过程
  • CentOS7 安装JDK
  • download使用浅析
  • MySQL几个简单SQL的优化
  • PAT A1092
  • python docx文档转html页面
  • vue2.0项目引入element-ui
  • 读懂package.json -- 依赖管理
  • 我看到的前端
  • 你对linux中grep命令知道多少?
  • Mac 上flink的安装与启动
  • 继 XDL 之后,阿里妈妈开源大规模分布式图表征学习框架 Euler ...
  • ​低代码平台的核心价值与优势
  • #13 yum、编译安装与sed命令的使用
  • #pragma预处理命令
  • #每天一道面试题# 什么是MySQL的回表查询
  • (aiohttp-asyncio-FFmpeg-Docker-SRS)实现异步摄像头转码服务器
  • (poj1.3.2)1791(构造法模拟)
  • (ZT)一个美国文科博士的YardLife
  • (八)Docker网络跨主机通讯vxlan和vlan
  • (第27天)Oracle 数据泵转换分区表
  • (附源码)计算机毕业设计SSM智慧停车系统
  • (十六)Flask之蓝图
  • (转) 深度模型优化性能 调参
  • .bat批处理(十):从路径字符串中截取盘符、文件名、后缀名等信息
  • .NET 4.0中的泛型协变和反变
  • .NET Core实战项目之CMS 第一章 入门篇-开篇及总体规划
  • .Net Remoting(分离服务程序实现) - Part.3
  • .NET 指南:抽象化实现的基类
  • .NET/C# 使用 ConditionalWeakTable 附加字段(CLR 版本的附加属性,也可用用来当作弱引用字典 WeakDictionary)
  • .Net程序猿乐Android发展---(10)框架布局FrameLayout
  • .NET分布式缓存Memcached从入门到实战
  • .Net通用分页类(存储过程分页版,可以选择页码的显示样式,且有中英选择)
  • .考试倒计时43天!来提分啦!
  • ?.的用法
  • @modelattribute注解用postman测试怎么传参_接口测试之问题挖掘