博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Redis中文入门手册之hash
阅读量:3923 次
发布时间:2019-05-23

本文共 1076 字,大约阅读时间需要 3 分钟。

2.2.2. hash 类型

hash 是一个 string 类型的 field 和 value 的映射表。添加,删除操作都是 O(1)(平均)。hash 特别适合用于存储对象。相对于将对象的每个字段存成单个 string 类型。将一个对象存储在 hash 类型中会占用更少的内存,并且可以更方便的存取整个对象。省内存的原因是新建一个 hash 对象时开始是用 zipmap(又称为 small hash)来存储的。这个 zipmap 其实并不是 hash table,但是 zipmap 相比正常的 hash 实现可以节省不少 hash 本身需要的一些元数据存储开销。尽管 zipmap 的添加,删除,查找都是 O(n),但是由于一般对象的 field数量都不太多。所以使用 zipmap 也是很快的,也就是说添加删除平均还是 O(1)。如果 field或者 value 的大小超出一定限制后,redis 会在内部自动将 zipmap 替换成正常的 hash 实现. 这个限制可以在配置文件中指定。

hash-max-zipmap-entries 64 #配置字段最多 64 个

hash-max-zipmap-value 512 #配置 value 最大为 512 字节

hash 类型数据操作指令简介

hset key field value 设置 hash field 为指定值,如果 key 不存在,则创建

hget key field 获取指定的 hash field。hmget key filed1....fieldN 获取全部指定的 hash filed。

hmset key filed1 value1 ...... filedN valueN 同时设置 hash 的多个 field。

hincrby hincrby hincrby hincrby key field integer 将指定的 hash filed 加上指定值。成功返回 hash filed 变更后的值。

hexists hexists hexists hexists key field 检测指定 field 是否存在。

hdel key field 删除指定的 hash field。

hlen key 返回指定 hash 的 field 数量。

hkeys key 返回 hash 的所有 field。

hvals key 返回 hash 的所有 value。

hgetall 返回 hash 的所有 filed 和 value。

如有侵权,可联系删除!

转载地址:http://qhkgn.baihongyu.com/

你可能感兴趣的文章
C - 上车(简单题)
查看>>
数字游戏
查看>>
G - 久违的月赛之一
查看>>
久违的月赛之二
查看>>
hdu 1520 Anniversary party(基本的树形DP)
查看>>
poj 1192 最优连通子集(树形dp)题目好难懂。。。
查看>>
hdu 2196 Computer(树形DP,两次dfs)好好看。。。
查看>>
poj 1741 Tree(树形DP+分治)难
查看>>
hdu 3452 Bonsai(树形dp)另一种建树的方式
查看>>
树形DP总结
查看>>
hdu 1561 The more, The Better(树形DP+背包)两种建树方式都对
查看>>
ural 1018 Binary Apple Tree(树形DP)建二叉树
查看>>
poj 1155 TELE (树形DP+优化)
查看>>
poj 2486 Apple Tree(树形DP,状态好纠结。。。)
查看>>
Bribing FIPA(树形DP)输入难,学会stringstream的用法,map的使用
查看>>
poj 1947 Rebuilding Roads(树形DP)
查看>>
ural 1056 Computer Net(树形DP)需要用到两遍dfs
查看>>
poj 1848 Tree(树形DP,太难了,三种状态,四种状态转换)
查看>>
zoj 3626 Treasure Hunt I(树形DP+分组背包)
查看>>
hdu 1011 Starship Troopers(树形DP+背包问题)
查看>>