Redis08——Redis五大数据类型 hash
hash
- Redis中的hash是一个键值对集合
- 同时又是一个string类型的field和value的映射表,hash特别适合用于存储对象
- 类似于java里面的Map<String,Object>
问题:如果有一个Javabean对象,在Redis中该如何存在
①用户id为key,value为Javabean序列化后的字符串
缺点:每次修改用户的某个属性,先反序列化改好后再序列化回去,开销大
②用户id+属性名作为key,属性值作为value
缺点:用户id数据冗余
③通过key(用户id)+field(属性标签)可以操作对应属性数据
优点:不需要重复存储数据
不会带来序列化和并发修改控制的问题
常用操作:
hset <key> <field> <value> |
给<key>集合中的 <field>键赋值<value> |
hget <key1> <field> |
从<key1>集合<field> 取出 value |
hmset <key1> <field1> <value1> <field2> <value2>... |
批量设置hash的值 |
hexists key <field> |
查看哈希表 key 中,给定域 field 是否存在。 |
hkeys <key> |
列出该hash集合的所有field |
hvals <key> |
列出该hash集合的所有value |
hincrby <key> <field> <increment> |
为哈希表 key 中的域 field 的值加上增量 increment |
hsetnx <key> <field> <value> |
将哈希表 key 中的域 field 的值设置为 value ,当且仅当域 field 不存在 |
Redis08——Redis五大数据类型 hash的更多相关文章
- Redis五大数据类型的常用操作
在上一篇博文<centos安装redis>中,已经详细介绍了如何在centos上安装redis,今天主要介绍下Redis五大数据类型及其五大数据类型的相关操作. Redis支持五种数据类型 ...
- 一文搞定Redis五大数据类型及应用场景
本文学习知识点 redis五大数据类型数据类型:string.hash.list.set.sorted_set 五大类型各自的应用场景 @TOC 1. string类型 1-1 string类型数据的 ...
- redis 五大数据类型使用
redis 五大数据类型使用 字符串str 单个值 127.0.0.1:6379> set name pp # 设置键值[O(1)] OK 127.0.0.1:6379> setex na ...
- 《Redis入门指南(第二版)》读书思考总结之Redis五大数据类型
热身:系统级命令 1. 获得符合规则的键名列表 KEYS pattern 模式匹配 产品的缓存:product+"."+....; => keys product* 订单的 ...
- Redis五大数据类型详解
关于Redis的五大数据类型,它们分别为:String.List.Hash.Set.SortSet.本文将会从它的底层数据结构.常用操作命令.一些特点和实际应用这几个方面进行解析.对于数据结构的解析, ...
- redis五大数据类型以及常用操作命令
Redis的五大数据类型 String(字符串) string是redis最基本的类型,你可以理解成与Memcached一模一样的类型,一个key对应一个value.string类型是二进制安全的.意 ...
- 四:Redis五大数据类型
Redis的五大数据类型 1.string(字符串) string是Redis最基本的类型,你可以理解成与menmcached一模一样的类型,一个key对应一个value string类型是二进制安全 ...
- Redis五大数据类型
首先说明下,Redis是:单线程+多路IO复用技术!!! string set > key + zset list hash 常用的几个命令: >keys * 查 ...
- 8、Redis五大数据类型---哈希(Hash)
一.哈希(Hash)简介: Redis hash 是一个string类型的field和value的映射表,hash特别适合用于存储对象. Redis hash 是一个键值对集合. 二.常用命令 1.h ...
随机推荐
- spawn id exp6 not open
原因 脚本没有被执行 解决方案 手动执行该条命令参看报错的原因
- 关于Git GUI克隆代码
1.首先需要使用Git GUI生成一个SSH秘钥并将其拷贝到远程(码云或者GitHub)账号下的SSH公钥中(以码云为例) 将上一步生成的SSH密钥拷贝到下面的码云的公钥中 2.拷贝下码云上代码的SS ...
- windows系统安装Java(详细版)
1.下载JDK 官网下载: www.oracle.com/technetwork… 百度云下载: pan.baidu.com/s/1LGf3Podz…提取码:s6mg (官网下载步骤) 进入官网 ht ...
- Java安全笔记
前言 后端接口开发中,涉及到用户私密信息(用户名.密码)等,我们不能传输明文,必须使用加密方式传输.这次政府项目中,安全测试组提出了明文传输漏洞,抽空研究了下Java加解密相关知识,记录下. 散列函数 ...
- BZOJ#2121. 字符串游戏 [区间dp]
// powered by c++11 // by Isaunoya #include<bits/stdc++.h> #define rep(i , x , y) for(register ...
- Jungle Roads HDU - 1301 prim
#include<stdio.h> #include<string.h> #include<iostream> using namespace std; ; int ...
- ubuntu16.04更换成国内源
一.首先使用自带的vi编辑器 安装完ubuntu后没有默认的root密码,如果要设置root密码需要进行如下步骤: 1 sudo passwd 2 连续输入两次新密码 二.vi编辑器下使用[backs ...
- 问题 I: 排名
#include <cstdio> #include <cstring> #include <algorithm> #include <vector> ...
- 论文阅读笔记(六)【TCSVT2018】:Semi-Supervised Cross-View Projection-Based Dictionary Learning for Video-Based Person Re-Identification
Introduction (1)Motivation: ① 现实场景中,给所有视频进行标记是一项繁琐和高成本的工作,而且随着监控相机的记录,视频信息会快速增多,因此需要采用半监督学习的方式,只对一部分 ...
- 305. 岛屿数量 II
题目: 假设你设计一个游戏,用一个 m 行 n 列的 2D 网格来存储你的游戏地图. 起始的时候,每个格子的地形都被默认标记为「水」.我们可以通过使用 addLand 进行操作,将位置 (row, c ...