网站首页 > 技术文章 正文
命令
hset key field value 设置值,成功返回1,失败返回0,hash提供了 hsetnx 命令 只有key不存在才会设置成功
hget key value 获取值
hdel key field [field ...] 删除filed,返回删除成功的个数
hlen key 统计field个数
hmget key field [field ...] 批量获取field value
hmset key field value [field value ...] 批量设置field value
hexists key field 判断field是否存在,存在返回1,否则返回0
hkeys key 这里是获取key下所有的field
hvals key 获取所有的value
hgetall key 获取所有的feld-value 慎用,使用不当可能阻塞Redis
hincrby key field increment 与incrby key increment 类似
hincrbyfloat by key field increment 与incrbyfloat key increment 类似
hstrlen key field 计算value字符串的长度
内部编码
哈希类型内部的编码实现有两种
- ziplist 压缩列表:当哈希类型元素个数小于hash-max-ziplist-entries配置(默认512个)、同时所有值都小于hash-max-ziplist-value的配置(默认64字节)时,Redis会使用自ziplist实现。ziplist使用更加紧凑的结构实现多个元素的连续存储,比hashtable实现节省内存。
- hashtable(哈希表):当哈希类型无法满足ziplist的条件时,Redis使用hashtable实现,hashtable的读写时间复杂度O(1)。
查看Redis配置命令 config get key 如下:
127.0.0.1:6379> config get hash-max-ziplist-entries
1) "hash-max-ziplist-entries"
2) "512"
127.0.0.1:6379> config get hash-max-ziplist-value
1) "hash-max-ziplist-value"
2) "64"
操作验证:
127.0.0.1:6379> hset ziplistKey ziplist ziplist
(integer) 1
127.0.0.1:6379> object encoding ziplistKey
"ziplist"
127.0.0.1:6379> hset hashtableKey hashtable 一个汉字三个字节所以使用汉字来填充填充填充填充填充填充填充填充
(integer) 1
127.0.0.1:6379> object encoding hashtableKey
"hashtable"
- 上一篇: 程序员常说的「哈希表」是个什么鬼?
- 下一篇: Redis哈希类型 redis 哈希操作
猜你喜欢
- 2024-10-12 百度 面试题——Redis的对象类型与内部编码
- 2024-10-12 五分钟带你了解哈希算法究竟是什么!
- 2024-10-12 Redis哈希类型的使用场景 redis哈希槽的概念
- 2024-10-12 Redis哈希类型使用命令 redis 哈希操作
- 2024-10-12 对象存储服务器Minio(超详细) 对象存储服务适于哪些场景
- 2024-10-12 基于Vision Transformer的视频哈希检索识别虚假视频
- 2024-10-12 Java高级面试之哈希表 哈希表java实现
- 2024-10-12 Redis 选择hash还是string 存储数据?
- 2024-10-12 特征工程:基于梯度提升模型的特征编码效果测试
- 2024-10-12 Redis 讲解系列之 Redis的五大数据类型和配置文件解读
你 发表评论:
欢迎- 最近发表
-
- 在 Spring Boot 项目中使用 activiti
- 开箱即用-activiti流程引擎(active 流程引擎)
- 在springBoot项目中整合使用activiti
- activiti中的网关是干什么的?(activiti包含网关)
- SpringBoot集成工作流Activiti(完整源码和配套文档)
- Activiti工作流介绍及使用(activiti工作流会签)
- SpringBoot集成工作流Activiti(实际项目演示)
- activiti工作流引擎(activiti工作流引擎怎么用)
- 工作流Activiti初体验及在数据库中生成的表
- Activiti工作流浅析(activiti6.0工作流引擎深度解析)
- 标签列表
-
- oraclesql优化 (66)
- 类的加载机制 (75)
- feignclient (62)
- 一致性hash算法 (71)
- dockfile (66)
- 锁机制 (57)
- javaresponse (60)
- 查看hive版本 (59)
- phpworkerman (57)
- spark算子 (58)
- vue双向绑定的原理 (68)
- springbootget请求 (58)
- docker网络三种模式 (67)
- spring控制反转 (71)
- data:image/jpeg (69)
- base64 (69)
- java分页 (64)
- kibanadocker (60)
- qabstracttablemodel (62)
- java生成pdf文件 (69)
- deletelater (62)
- com.aspose.words (58)
- android.mk (62)
- qopengl (73)
- epoch_millis (61)
本文暂时没有评论,来添加一个吧(●'◡'●)