redis 的五大数据类型及其常用命令

1、redis 的五大数据类型

  • String : 字符串
    string是redis最基本的数据类型
    string类型是二进制安全的,意思是redis的string可以包含任何数据类型,包含jpg图片或者序列化的对象
    string类型是redis中最基本的类型,一个redis字符串value最多可以是512M

  • Hash: (哈希)、
    类似于java中的map

  • List : (列表)
    是简单的字符串列表,按照插入顺序排序,你可以添加一个元素在列表的头部(左边)或者尾部(右边),它的底层实际上是个链表

  • Set : ( 集合)

  • Zset : ( sort set有序集合)
    redis zset和 set 一样也是string类型元素的集合,且不允许重复的成员。不同的是,每个元素都会关联一个double类型的分数,redis正式通过分数来为集合中的成员从小到大排序。zset 的成员是唯一的,但分数确实可以重复的

2、 key关键字

exists key : 是否存在key

move k3 3: 将k3 移动到3号库,当前库就没有了

ttl k1 : k1 还能存活多久 -1 :永不过期

expire k3 10 v3 : 给k3 设置10秒的过期时间

type k1 : 查看k1 值的数据类型

3、 redeis__String

set :设值
get :取值
del :删除 key
append : 在key对应的value添加字符串
strlen :key对应的value的长度

Incr decr incrby decrby

getrange:获取指定区间范围内的值 get k1 0 5
setrange: 覆盖指定范围内的值

setex k1 10 v1 在创建k1时,给其设置10秒的过期时间
setnx: set if not exist 不存在才进行覆盖

mset k1 v1 k2 v2 k3 v3
mget
msetnx : mset if not exist : 当有一个没创建成功,则本次操作失效

4、redeis__List 单值多value

1、lpush 、rpush 、lrange
lpush : 从左进
rpush : 从右进
lrange: 遍历list 中的变量 lrange list 0 -1 ()从左到右遍历
在这里插入图片描述

2、lpop rpop
lpop : 将左边的栈顶数据出栈
rpop: 将右边的栈顶数据出栈
在这里插入图片描述
3、lindex: 按照索引下表获取元素 (从0开始)
在这里插入图片描述
4、llen : 获取list的长度
在这里插入图片描述
5、lrem:删除n个value lrem list 2 3 在list中删除两个3
在这里插入图片描述
6、ltrim list start end : 截取指定范围的值后,再赋值给key
在这里插入图片描述
7、lset key index value : 将list04 的第2位设置为3
在这里插入图片描述
8、linsert keybefore/after key_value value
linsert list04 before 1 java ==> 将java插入到list04的1之前
在这里插入图片描述

5、 redeis__Set 单值多value

1、sadd: 向set中添加数据
sadd set01 1 1 2 2 0 3

2、smembers : 取出set中的所有成员
在这里插入图片描述
3、sismember 集合名 xx : 判断xx是不是集合的一个成员
在这里插入图片描述
4、scard 集合 : 返回set中元素的个数
在这里插入图片描述

5、srem 集合 xx : 删除集合中的xx元素
在这里插入图片描述

6、srandmember set 3: 在set中随机抽取3个元素
在这里插入图片描述

7、spop set : set中的元素随机出栈
在这里插入图片描述
8、smove set1 set2 xx : 将set1中的xx元素移动到 set2中
在这里插入图片描述

9、数学类集合
sdiff 差集
sdiff set01 set02 : 在set01中,但不在set02中

sinter 交集
sinter set01 set02

sunion : 并集
sunion set01 set02

6、 redeis__Hash KV模式不变 但是Value是一个键值对

1、hset
hset user id 1 : user -> {id : 1}
hset user name hc : user -> {id : 1,name:hc}
在这里插入图片描述
2、hget
hget user id

3、hmset: 设置hash中的多个属性
hmset customer id 1 name zs age 22

4、hmget:获取hash中的多个属性
hmget customer id name age
在这里插入图片描述

5、hgetall
hgetall customer : 获取customer中所有key对应的值
在这里插入图片描述

6、hdel
hdel user name : 将user中的name删除
在这里插入图片描述7、hlen
hlen user : 获取user中 kv 键值对的个数
在这里插入图片描述
8、hexists xxx key
hexists customer id : customer 中是否存在id这个key

9 、hkeys xxx : 取得map中所有的key
hvals xxx : 取得map中所有的value

10、hsetnx xxx key value:不存在则插入成功
在这里插入图片描述

7、 redeis__ZSet

1、向zset中添加元素 zdd key score value1

2、查询zset中的所有元素: zrange key 0 -1
在这里插入图片描述

3、根据分数来检索zset
zrangebyscore zset01 60 (90 60 =< 获取的值 <90
在这里插入图片描述
zrangebyscore zset01 (60 (90 60 < 获取的值 <90
在这里插入图片描述
zrangebyscore zset01 60 90 limit 2 2 在zrangebyscore zset01 60 90结果中,index=2开始截取2位
在这里插入图片描述

4、zrem 删除集合中的某个元素
zrem zset01 v5:删除zset01集合中的v5元素
在这里插入图片描述

5、zcard zset01:删除zset01集合
在这里插入图片描述


版权声明:本文为hc1285653662原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。