Redis底层学习(四)—存储类型-Hash篇

本文涉及的产品
云数据库 Redis 版,社区版 2GB
推荐场景:
搭建游戏排行榜
简介: Redis底层学习(四)—存储类型-Hash篇

特点

1.适⽤场景:存储⽆序字典的数据,⽐如:适合存储对象类型、存储猪⾁价格等。

2.它的内部采⽤ 数组 + 链表 的结构,类似java⾥的HashMap。

hash的key值只能是字符串。将对象存储为hash结构可以针对需要来获取部分数据,⽽不是将整个对象获取。减少⽹络资源浪费。

具体服务器操作命令

添加元素到key中: HSET [key] [field1] [value1] … [fieldN] [valueN]

查询key中field的价格: HGET [key] [field]

查询key中元素个数: HLEN [key]

查询key中所有元素: HGETALL [key]

批量添加元素: HMSET [key] [field1] [value1] … [fieldN] [valueN]

批量获取元素: HMGET [key] [field1] … [fieldN]

底层结构

哈希对象编码⽀持 ziplist 和 hashtable 两种

ziplist 编码底层使⽤压缩列表实现,当有新的键值对要加⼊到哈希对象时,会先将 key 值

从队尾推⼊压缩列表中,再将这个key对应的 value 值从队尾推⼊压缩列表中;所以,同⼀键

值对的两个节点总是紧挨在⼀起的——key在前,value在后

数据结构:

hashTable:

同时满⾜两个条件时是 ziplist 编码类型,否则为 hashtable 编码类型

1.哈希对象中所有键值对中, key 和 value 的⻓度均⼩于等于64字节。

2.哈希对象中 键值对 的个数⼩于512个

应用场景

使用Hash实现购物车
    将key设置为用户Id, field 可以设置为商品Id ,value为商品的数量


相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
云数据库 Redis 版使用教程
云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore     ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库 ECS 实例和一台目标数据库 RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
相关文章
|
3月前
|
存储 NoSQL Redis
redis中Hash命令的基础操作
redis中Hash命令的基础操作
40 1
|
3月前
|
NoSQL 中间件 API
分布式锁【数据库乐观锁实现的分布式锁、Zookeeper分布式锁原理、Redis实现的分布式锁】(三)-全面详解(学习总结---从入门到深化)(下)
分布式锁【数据库乐观锁实现的分布式锁、Zookeeper分布式锁原理、Redis实现的分布式锁】(三)-全面详解(学习总结---从入门到深化)
82 2
|
3月前
|
NoSQL Java API
分布式锁【数据库乐观锁实现的分布式锁、Zookeeper分布式锁原理、Redis实现的分布式锁】(三)-全面详解(学习总结---从入门到深化)(上)
分布式锁【数据库乐观锁实现的分布式锁、Zookeeper分布式锁原理、Redis实现的分布式锁】(三)-全面详解(学习总结---从入门到深化)
74 0
|
2天前
|
存储 NoSQL 算法
Redis入门到通关之Redis数据结构-Hash篇
Redis入门到通关之Redis数据结构-Hash篇
10 1
|
2天前
|
存储 缓存 NoSQL
Redis入门到通关之Hash命令
Redis入门到通关之Hash命令
|
1月前
|
存储 NoSQL Java
【Redis】1、学习 Redis 的五大基本数据类型【String、Hash、List、Set、SortedSet】
【Redis】1、学习 Redis 的五大基本数据类型【String、Hash、List、Set、SortedSet】
54 0
|
2月前
|
存储 NoSQL 算法
学习 Redis 基础数据结构,不讲虚的。
职场中是这样使用 redis 的。
154 1
学习 Redis 基础数据结构,不讲虚的。
|
2月前
|
NoSQL Java API
分布式锁【数据库乐观锁实现的分布式锁、Zookeeper分布式锁原理、Redis实现的分布式锁】(三)-全面详解(学习总结---从入门到深化)
分布式锁【数据库乐观锁实现的分布式锁、Zookeeper分布式锁原理、Redis实现的分布式锁】(三)-全面详解(学习总结---从入门到深化)
300 0
|
3月前
|
存储 NoSQL 关系型数据库
深度图解 Redis Hash(散列表)实现原理
深度图解 Redis Hash(散列表)实现原理
48 0
|
3月前
|
存储 NoSQL Java
深入学习Redis:从入门到实战
深入学习Redis:从入门到实战

热门文章

最新文章