Redis指令-数据结构String类型和Hash类型

1. String类型

字符串类型,Redis中最简单的存储类型

Redis指令-数据结构String类型和Hash类型_第1张图片

底层都是字节数组形式存储,只不过是编码方式不同;
字符串类型的最大空间不能超过512m;

Redis指令-数据结构String类型和Hash类型_第2张图片

SET/GET/MSET/MGET使用示例:

Redis指令-数据结构String类型和Hash类型_第3张图片

INCR使用示例:

Redis指令-数据结构String类型和Hash类型_第4张图片

INCRBY自增并指定步长:

Redis指令-数据结构String类型和Hash类型_第5张图片

INCRBYFLOAT浮点类型的数字自增并指定(必须指定)步长:

Redis指令-数据结构String类型和Hash类型_第6张图片

SETNX(=not exist):前提是这个key不存在,否则不会执行(新增功能)

Redis指令-数据结构String类型和Hash类型_第7张图片
Redis指令-数据结构String类型和Hash类型_第8张图片

SETEX:新增一个String类型的键值对,指定有效期

Redis指令-数据结构String类型和Hash类型_第9张图片

也可以在RDM中查看
Redis指令-数据结构String类型和Hash类型_第10张图片

2. Key的层次格式

Redis指令-数据结构String类型和Hash类型_第11张图片

解决方法是写前缀,让key变成多个单词层级结构,多个单词之间用’:'隔开

格式所示(不唯一):
项目名:业务名:类型:id

例如与user相关的key:tablename:user:1

如果Value是一个Java对象,例如一个User对象,则可以将对象序列化为JSON字符串后存储:

{"id":1, "name": "Jack", "age": 21}

Redis指令-数据结构String类型和Hash类型_第12张图片
Redis指令-数据结构String类型和Hash类型_第13张图片
Redis指令-数据结构String类型和Hash类型_第14张图片

3. Hash类型

Redis指令-数据结构String类型和Hash类型_第15张图片

与String中的命令类似

Redis指令-数据结构String类型和Hash类型_第16张图片
Redis指令-数据结构String类型和Hash类型_第17张图片
Redis指令-数据结构String类型和Hash类型_第18张图片

HSET与HMSET作用效果相同,都可以做到添加多个值

Redis指令-数据结构String类型和Hash类型_第19张图片

获取一个hash类型key中的所有field和value,类似Java中的entryset

Redis指令-数据结构String类型和Hash类型_第20张图片

获取一个hash类型key中的所有field,类似Java中的keyset
获取一个hash类型key中的所有value

Redis指令-数据结构String类型和Hash类型_第21张图片

HINCRBY:让一个hash类型key的字段值自增并指定步长

Redis指令-数据结构String类型和Hash类型_第22张图片

HSETNX:添加一个hash类型的key的field值,前提是不存在,否则不执行

Redis指令-数据结构String类型和Hash类型_第23张图片

你可能感兴趣的:(Redis,redis,数据结构,哈希算法)