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

零基础学习Redis(7) -- hash类型命令使用

Redis本身就是通过哈希表的方式组织数据,同时redis中的value也可以是另一个哈希表。

1. 常用命令

1. hset / hsetnx

hset key filed1 value1 filed2 value2 ...

hset 用于把键值对存入value中,这里的key为redis组织的键, filed1 value1 filed2 value2 为key的value,为了区分所以把内部的 hash的键用filed表示。

hset会返回设置成功的键值对个数,如果filed已经存在则会覆盖对应的value但是返回数不会增加

hsetnx filed value 

filed 不存在才能设置成功

2. hget / hmget

hget key filed 

返回filed对应的value,不存在返回nil

hmget key filed1 filed2 ... 

返回多个filed对应的value,不存在返回nil

 

3. hdel

hdel key filed1 filed2 ...

删除对应的键值对,返回删除的个数:

4. hkeys

hkeys key 

返回key中所有的filed

5. hvals

hvals  key

返回key中所有的value 

6. hgetall 

hgetall key 

返回key中所有的键值对:

7. hlen

hlen key 

获取哈希表元素个数 

 8. hincrby / hincrbyfloat

hincrby key fild n

对value + n,并返回结果,n可以为负数

hincrbyfloat key fild f 

 对value + f,并返回结果,f可以为负数,小数

2. 编码方式

1. Ziplist:

  • 适用场景:当哈希表较小,且字段和值都较短时
  • 特点:Ziplist 是一种压缩编码方式,存储小型哈希表中的字段和值。它将多个字段和值紧凑地存储在一个连续的内存块中。

2. Hash Table:

  • 适用场景:当哈希表较大或字段和值较长时。
  • 特点:哈希表编码是 Redis 默认的哈希编码方式。它使用链式哈希结构,支持高效的字段和对应值的查找、插入和删除操作。

Redis 会根据哈希表的大小和内容自动选择适合的编码方式,以确保存储和操作的高效性。

3. 应用场景

作为缓存,存储一些结构化的数据,例如对象:

也可以把对象转为json使用string类型来存,不过没有使用哈希表直观,并且修改某个属性也更麻烦。


http://www.kler.cn/a/287164.html

相关文章:

  • 基于Java Springboot甘肃旅游管理系统
  • WPF MVVM框架
  • 大学作业参考:网页设计作业 - 工作计划-Java SQL HTML源码下载
  • 3D Streaming 在线互动展示系统:NVIDIA RTX 4090 加速实时渲染行业数字化转型
  • web——upload-labs——第十关——.空格.绕过
  • 网络安全:我们的安全防线
  • 【区块链 + 司法存证】数据存证区块链服务开放平台 | FISCO BCOS应用案例
  • Qt详解QHostInfo
  • MindSearch CPU-only 版部署
  • 华为云征文|部署内容管理系统 Joomla
  • React 入门第八天:性能优化与开发者工具的使用
  • this.$nextTick() 是 Vue.js 提供的一个方法
  • A* 算法优化思路
  • Jiujiu-SaaS:开创Web3时代的IP电商新纪元
  • [MRCTF2020]pyFlag(详解附送多个python脚本)
  • Zookeeper 官方示例2-SyncPrimitive 代码解读(二)
  • 数据库(MySQL)的基本操作
  • C# 异步编程
  • linux-基础知识2
  • echarts地图下钻+平面3D效果+自定义toolTip+自定义立体数据图层
  • J.U.C Review - CAS的工作原理
  • CS224W—07 Machine Learning with Heterogeneous Graphs
  • Javaweb12-Maven基础和进阶
  • 【工控】线扫相机小结 第二篇
  • 38道数据分析-Python面试题,程序员面试之前一定要看哦!
  • 深度学习系列72:torch-tensorrt入门