redis的存储结构
来源:互联网 发布:js删除注释工具 编辑:程序博客网 时间:2024/06/06 18:02
Hash存储结构
Hash是一个string类型的field和value的映射表。Hash特别适合存储对象,相对于将对象的每个字段存成单个string类型。一个对象存储在Hash类型中会占用更少的内存,并且可以更方便的存取整个对象。
我们简单举个实例来描述下Hash的应用场景,比如我们要存储一个用户信息对象数据,包含以下信息:用户ID为查找的key,存储的value用户对象包含姓名,年龄,生日等信息,如果用普通的key/value结构来存储,主要有以下2种存储方式:
第一种方式将用户ID作为查找key,把其他信息封装成一个对象以序列化的方式存储,这种方式的缺点是,增加了序列化/反序列化的开销,并且在需要修改其中一项信息时,需要把整个对象取回,并且修改操作需要对并发进行保护,引入CAS等复杂问题。
第二种方法是这个用户信息对象有多少成员就存成多少个key-value对儿,用用户ID+对应属性的名称作为唯一标识来取得对应属性的值,虽然省去了序列化开销和并发问题,但是用户ID为重复存储,如果存在大量这样的数据,内存浪费还是非常可观的。
因此,基于以上两种方式的缺陷,Redis提供的Hash很好的解决了这个问题,Redis的Hash实际是内部存储的Value为一个HashMap,并提供了直接存取这个Map成员的接口,如下图:
也就是说,Key仍然是用户ID, value是一个Map,这个Map的key是成员的属性名,value是属性值,这样对数据的修改和存取都可以直接通过其内部Map的Key(Redis里称内部Map的key为field), 也就是通过key(用户ID) + field(属性标签) 就可以操作对应属性数据了,既不需要重复存储数据,也不会带来序列化和并发修改控制的问题,也就很好的解决了 0 0
- redis的存储结构
- Redis 内存存储结构
- Redis之存储结构
- Redis 内存存储结构
- Redis存储结构
- redis存储结构
- Redis学习笔记之二:Redis的数据存储结构
- redis的基本存储结构的简单使用
- Redis内存存储结构分析
- Redis内存存储结构分析
- Redis内存存储结构分析
- Redis内存存储结构分析
- Redis内存存储结构分析 .
- Redis内存存储结构分析
- 1 Redis 内存存储结构
- Redis内存存储结构分析
- Redis内存存储结构分析
- Redis内存存储结构分析
- ubuntu 16.04 安装TensorFlow GPU版本
- 极光消息推送(配置与初始化)
- Json 在 Android中的应用
- JS获取地址栏参数(解决参数中文乱码的问题)
- tensorflow学习笔记十四:TF官方教程学习 tf.contrib.learn Quickstart
- redis的存储结构
- 关于接入科大讯飞的语音sdk
- java 报错
- 第五届中国网络安全大会分论坛介绍
- android中表示图片的Bitmap、Drawable之间的转化以及他们和字节数组、输入流之间的转化
- 图片延时加载(零依赖)
- WebAPI返回404
- 安装Git2.8.1关联android studio
- BubbleSort 优化后的冒泡排序算法