Redis探索之路(三):Redis的五种数据类型String和Hash

时间:2023-03-09 15:44:57
Redis探索之路(三):Redis的五种数据类型String和Hash

一:String

存储二进制数据,可以图片,序列化对象

GET,SET

SETNX(not exist)  setnx age 33 返回 0,1

SETEX设置有效期   SETEX COLOR 20 RED

SETRANGE替换字符串 set emial zwl@qq.com      setrange emial 4 126.com

GETRANG获取子字符串 getrange key3 0 1

MSET批量设置返回“ok” 0   mset key1 zwl key2 cyz

MGET批量获取 mget key1 key2 key3

MSETNX  都设置成功返回1,一个不成功返回0 MSETNX key4 "xx" key3 ss

GETSET设置key的值,并返回key的旧值

NCR自增 incr key3

INCRBY 加上指定值,如果不存在就创建原来的值,并默认为0    incrby key5 -1

DECR自减

DECRBY减去指定值

APPEND加上指定字符串

STRLEN 获取字符串的长度STRLEN key5

二:Hash类型(可以当作映射表)

是一个String类型的field和value的映射表,添加和删除的操作都是0(1)(平均)。hash特别适合用于存储对象,相较于将对象的每个字段存储为单个string类型,将一个对象存储在hash中可以占用更少的内存,并且方便的存储整个对象。

HSET设置hash field为指定值,如果key不存在,则先创建。HSET user:001 name zwl

HGET获取HGET user:001 name

HSETNX不存在就创建

HMSET  批量设置HMSET user:003 name zwl age 21 sex 1

HMGET  批量获取 HMGET user:003 name age sex

HINCRBY 自增字段  HINCRBY user:003 age 5

HEXISTS   是否存在 HEXISTS user:003 age

HLEN 获取Hash里面字段数量  HLEN user:003

HDEL删除字段  HDEL user:003 age

HKEYS 获取所有字段hkeys user:003

HVALS 获取所有字段值hvals user:003

HGETALL获取所有的字段和值