【Redis学习总结】2. Redis五大数据类型

本文深入讲解Redis中的五种主要数据类型:字符串(String)、列表(List)、集合(Set)、哈希(Hash)和有序集合(Zset),包括每种类型的常用命令和操作方式,帮助读者全面理解Redis的数据管理和操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

常用的数据类型

1. 字符串

  • set、get、del、append、strlen、mset、mget

2. 列表 

  • lpush、rpush、lpop、rpop
  • llen
  • lset 、lindex

3. Hash 

  • hset、hget、hmset、hmget、hgetall、hdel
  • hlen
  • hexists
  • hkeys、hvals

 

一、String字符串

1.  set/get/del/append/strlen

2.  Incr/decr/incrby/decrby 

     Incr/decr key 默认增加、减少1

     incrby/decrby key value 指定增加或是减少的数值

    【提示】键值对的值的数据类型必须是数字类型

3.   getrange/setrange 获取或是设定指定区间范围内的值

      getrange

      

      setrange 

       

4. setex(set with expire)键秒值/setnx(set if not exist)

     setex:设置带过期时间的key,动态设置。
     setex 键 秒值 真实值

     

     setnx:只有在 key 不存在时设置 key 的值。

      

     【提示】Redis的返回是0时表示设置失败,是1时表示设置成功!

5. mset/mget/msetnx

     mset:同时设置一个或多个 key-value 对。

     mget:获取所有(一个或多个)给定 key 的值。

     

     msetnx:同时设置一个或多个 key-value 对,当且仅当所有给定 key 都不存在时才会成功

      

     【注意】上面的k2是存在的,可以看出msetnx设置失败了!符合了上面的结论

6. getset(先get再set)

      getset:将给定 key 的值设为 value ,并返回 key 的旧值(old value)。  

      

 

二、List列表

 

1.   lpush/rpush/lrange

      

2.   lpop/rpop

      

3.   lindex,按照索引下标获得元素(从上到下)

      通过索引获取列表中的元素 lindex key index

       

4.   llen

       

5.   lrem key N value  从左面删除N个value值

      

      从left往right删除2个值等于v1的元素,返回的值为实际删除的数量

     【注意】LREM list3 0 值,表示删除全部给定的值。零个就是全部值

6.   ltrim key 开始index 结束index,截取指定范围的值后再赋值给key

      

7.   rpoplpush 源列表 目的列表

       

8.   lset key index value

       

9.   linsert key  before/after 值1 值2

      

      

 

小结

   lpush/rpush/lrange

   lpop/rpop

   llen

   lset key index value

   lindex key index
 

 

三、Redis的Set集合

 

1.   sadd/smembers/sismember

      

    【注意】set集合会自动去重的

     

     

2.   scard,获取集合里面的元素个数

     

3.   srem key value 删除集合中元素

     

     

4.   srandmember key 某个整数(随机出几个数)

      

5.   spop key 随机出栈

      

 

6.   smove key1 key2 在key1里某个值      作用是将key1里的某个值赋给key2

      

      

      

7.  数学集合类

(1)差集:sdiff    在第一个set里面而不在后面任何一个set里面的项

        

(2)交集:sinter

        

(3)并集:sunion

        

 

小结

sadd/smembers/sismember

scard

 srem key value

数学集合类 sdiff    sinter   sunion

 

四、Redis哈希(Hash)

 

1.    hset/hget/hmset/hmget/hgetall/hdel

         

         

         

         

         

         

2.   hlen

        

3.   hexists key 在key里面的某个值的key

        

4.   hkeys/hvals

        

5.   hincrby/hincrbyfloat

       

       

6.   hsetnx

      

 

小结

hset/hget/hmset/hmget/hgetall/hdel

hlen

hexists key 在key里面的某个值的key

hkeys/hvals

 

五、Redis有序集合Zset(sorted set)

 

在set基础上,加一个score值。之前set是k1 v1 v2 v3,现在zset是k1 score1 v1 score2 v2

 

1.   zadd/zrange

      

     

     

 

2.   zrangebyscore key 开始score 结束score

      

 

      

     【提示】 (   不包含

 

      limit 作用是返回限制, limit 开始下标步 多少步

       

     【注意】zrangebyscore key 开始score 结束score  withscores 这个命令也是可行的

 

3.   zrem key 某score下对应的value值,作用是删除元素

      

       

 

4.   zcard/zcount key score区间/zrank key values值,作用是获得下标值/zscore key 对应值,获得分数

      

     

     

     

5.   zrevrank key values值,作用是逆序获得下标值

      

6.   zrevrange

      

7.   zrevrangebyscore  key 结束score 开始score

      

 

小结

zadd/zrange

zrem key 某score下对应的value值

zcard/zcount key score区间

zrank key values值,作用是获得下标值

zscore key 对应值,获得分数

 

六、拓展

1. keys * 查看所有的key

2.  exists key的名字,判断某个key是否存在

3.   move key db   --->当前库就没有了,被移除了

4.   expire key 秒钟:为给定的key设置过期时间, ttl key 查看还有多少秒过期,-1表示永不过期,-2表示已过期

【注意】过期的key就会被移除

5.   type key 查看你的key是什么类型

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值