redis的数据类型

时间:2024-06-01 15:04:50

redis有string,hash,list,sets.zsets几种数据类型

1.string数据类型

可包含任何数据,是二进制安全的,比如图片或者序列化的对象
set key value
set name hk
set age 20
get name 得到"hk"

setnx key value

如果key不存在就设置key的值为value
如果要设置的key已存在 则返回0 设置失败返回1 则表示设置成功
setnx name hk1 因为name已近有值了 会返回0 而name的值仍为hk

setex key expiretime value
设置key的值为value 有效期为expiretime秒
setex color 10 red 设置color为red 10秒 有效期的时间
可用ttl color查看剩余有效时间
get color 当color过期返回nil
redis的数据类型

setrange key offset value

设置key的值从offset开始之后的值是 value
get email 764432054@qq.com
setrange email 10 gmail.com
get email
764432054@gmail.com
offset是从0开始算起 包括offset位置 相当于闭区间
setrange email 10 qq.com 返回设置后值得长度
get email
764432054@qq.comcom
redis的数据类型

mset key1 value key2 value key3 value3
一次设置多个key value对 失败返回 0表示一个都没设置成功,否者返回1

msetnx key1 value1 key5 value5 key6 value6
返回 0因为key1 已经有值
msetnx key4 value4 key5 value5 key6 value6
设置成功

getset key1 value11

返回key1的旧值 并设置key1的值为value11

getrange key start end 返回key的值得从start到end间的字符 闭区间
get email 764432054@qq.comcom
getrange email 1 4
返回 6443
redis的数据类型

mget key1 key2 key3 批量获取 key1,key2,key3的值
redis的数据类型

incr key 对key的键值加1
只针对数字,不存在就按照0算起

incrby key step 按照一定的步调改变 key的值
redis的数据类型

decr与decrby 和incr incrby相反 语法类似

append key value给key的值追加value返回追加后的长度
对于不存在的key 当空串处理
strlen key返回key值得长度

redis的数据类型

hash类型

hash是一个string类型的key和vlaue的映射表 它的添加,删除都是平均操作的
适用于存储对象,相较于将对象的每个字段存成单个string类型,把对象存储在hash类型中会占用更少的内存,并且更方便存储整个对象
hset hashname field value 设置hash表的值
hset people name hk
hset people age 20
hset people hobby football
hget people name 获取 到hk
redis的数据类型

redis的数据类型
hsetnx people name hk1 返回0 对于不存在的值才设置
hsetnx people color yellow 返回1 操作成功

hmset people sex boy country china height 170
一次设置hash表的多个键值对
redis的数据类型
hmget people sex name 获取hash表里多个字段的值
hincrby people age 2 以一定步调改变age的值
hexists people age1 查看一个字段是否存在
hlen people获取people里字段的个数
hdel people height 删除某个字段
hkeys people 返回people里的所有键名
hvals people 返回people里的所有键值
hgetall people 返回people里键名键值

redis的数据类型

未完待续.....