redis五大数据类型常用指令

本文详细介绍了Redis中的六大数据类型:基本命令、字符串(String)、列表(List)、集合(Set)、哈希(Hash)和有序集合(Zset),包括它们的特性、常用命令以及操作示例。例如,字符串可以设置、获取、追加值,列表支持lpush/rpush插入、lpop/rpop弹出元素,集合用于存储唯一元素,哈希则用于存储键值对,有序集合则提供排序功能。此外,还讲解了如何设置键的过期时间和数据库切换等基本操作。

一、基本命令

  • 连接redis:redis-cli
    在这里插入图片描述
  • 查看当前所有库的key:keys *
    在这里插入图片描述
  • 添加新的值:set key vluae
    在这里插入图片描述
  • 判断key是否存在:exists key
    1表示存在,0表示不存在
    在这里插入图片描述
  • 查看key的类型:type key
    在这里插入图片描述
  • 删除指定key的数据:del key或者unlink key
    在这里插入图片描述
  • 设置过期时间:expire key 时间
    查看时间:ttl key
    在这里插入图片描述
    1 代表没有过期,-2代表过期,-1代表永不过期
  • 切换数据库:select 数据库号
    在这里插入图片描述
  • dbsize查看当前数据库的key的数量
  • 清空当前数据库:flushdb
  • 清空全部数据库:flushall
二、redis字符串(String)
  • 基本介绍:String是redis中的基本数据类型,可以存任何数据。一个value最大为512M。
  • 常用命令:
    • 添加:set 【key】【value】,如果key已经存在,会新值替换原来的值
    • 查看所有键:keys*
    • 获得值:get 【key】
    • 追加值:append 【key】【value】在原值后追加【value】,返回新值的长度
    • 获取值长度:strlen 【key】
    • key不存在时才添加:setnx 【key】【value】
    • 让数值增1:incr 【key】
    • 让数值减一:decr 【key】
      在这里插入图片描述
    • 增加指定值:incrby 【key】【值】
    • 减少指定值:decrby 【key】【值】
      在这里插入图片描述
      注意:redis中的增加减少具有原子性。所谓原子性就是单线程操作同一个参数时互相不影响。
    • mset 【key1】【value1】【key2】【value2】…同时设置多个key-value键值对
      在这里插入图片描述
    • mget 【key1】【value1】【key2】【value2】…同时获取多个key-value键值对
      在这里插入图片描述
    • msetnx 【key1】【value1】【key2】【value2】…当key不存在时,同时设置key-value键值对
    • setrange【key】【指定位置】【值】:替换指定位置的值
    • getrange 【key】【起始位置】【终止位置】:获得值的范围
      在这里插入图片描述
      注意:索引从0开始
    • setex 【key】【过期时间】【value】:设置键值的同时设置过期时间,单位秒
    • getset 【key】【value】:设置新值替换旧值同时获取旧值。
      在这里插入图片描述
三、redis列表(List)
  • 基本介绍:redis是字符串列表,按照插入顺序排序,底层是一个双向链表。,对头和尾的操作性能很好。

  • 常用指令:

    • lrange 【key】【startindex】【endindex】
      按照索引取值0代表左边第一个,-1代表右边第一个

    • lpush/rpush 【key】【value1】【value2】【value3】…
      从左边/右边插入一个值或多个值。
      在这里插入图片描述

    • lpop/rpop 【key】从左边/右边吐出一个值,吐出一个值后源列表中这个值就不见了。值在健在,值光键亡
      在这里插入图片描述

    • rpoplpush 【key1】【key2】从key1的右边吐出一个值,插到key2左边
      在这里插入图片描述

    • index 【key】【index】:根据索引下标取值

    • llen【key】:获取列表的长度

    • linsert【key】before/after【value】【newvalue】:在value的前面/后面插入新值。

    • lrem 【key】n 【value】:从左边删除n的value

    • lset 【key】【index】【value】:将列表下标处的值替换成value

四、redis的集合(set)
  • 基本介绍:string的无序集合,类似于list的列表功能。特殊之处在于value不能重复,无序。可以快速添加,删除,查找

  • 常用命令:

    • sadd 【key】【value1】【value2】… :将一个或多个 member 元素加入到集合 key 中,已经存在的 member 元素将被忽略。

    • smembers 【key】:取出该集合的所有值。
      在这里插入图片描述

    • sismember 【key】【value】:判断集合是否为含有该值,有1,没有0
      在这里插入图片描述

    • scard返回该集合的元素个数。

    • srem 【key】【value1】【value2】… :删除集合中的某个元素。
      在这里插入图片描述

    • spop 【key】随机从该集合中吐出一个值。

    • srandmember 【key】【n】随机从该集合中取出n个值。不会从集合中删除 。
      在这里插入图片描述

    • smove 【source】【destination】【value】:把集合中一个值从一个集合移动到另一个集合
      在这里插入图片描述

    • sinter 返回两个集合的交集元素。

    • sunion 返回两个集合的并集元素。

    • sdiff 返回两个集合的差集元素(key1中的,不包含key2中的)

五、redis的哈希(hash)
  • 基本介绍:Redis hash 是一个键值对集合。Redis hash是一个string类型的field和value的映射表,hash特别适合用于存储对象。类似Java里面的Map<String,Object>
  • 存储方式:
    在这里插入图片描述
  • 常用命令:
  • hset 【key】【field】【value】给key集合中的field键赋值
    在这里插入图片描述
  • hget 【key1】【field】从key1集合field取出 value
  • hmset 【key1】【field1】【value1】【field2】【value2】… 批量设置hash的值
  • hexists【key1】【field】查看哈希表 key 中,给定域 field 是否存在。
  • hkeys 【key】列出该hash集合的所有field
    在这里插入图片描述
  • hvals 【key】列出该hash集合的所有value
    在这里插入图片描述
  • hincrby 【key】【field】【increment】为哈希表 key 中的域 field 的值加上增量 1 -1
    在这里插入图片描述
  • hsetnx 【key】【field】【value】将哈希表 key 中的域 field 的值设置为 value ,当且仅当域 field 不存在 .
六、redis的有序集合Zset
  • 基本简介:Redis有序集合zset与普通集合set非常相似,是一个没有重复元素的字符串集合。不同之处是有序集合的每个成员都关联了一个评分(score),这个评分(score)被用来按照从最低分到最高分的方式排序集合中的成员。集合的成员是唯一的,但是评分可以是重复了 。因为元素是有序的, 所以你也可以很快的根据评分(score)或者次序(position)来获取一个范围的元素。访问有序集合的中间元素也是非常快的,因此你能够使用有序集合作为一个没有重复成员的智能列表。

  • 基本命令:

    • zadd【key】【score1】【value1】【score2】【value2】…:将一个或多个 member 元素及其 score 值加入到有序集 key 当中。
    • zrange【key】【start】【stop】 [WITHSCORES] :返回有序集 key 中,下标在之间的元素带WITHSCORES,可以让分数一起和值返回到结果集。
      在这里插入图片描述
    • zrangebyscore key minmax [withscores] [limit offset count] :返回有序集 key 中,所有 score 值介于 min 和 max 之间(包括等于 min 或 max )的成员。有序集成员按 score 值递增(从小到大)次序排列。
      在这里插入图片描述
    • zrevrangebyscore key maxmin [withscores] [limit offset count] :同上,改为从大到小排列。
    • zincrby 【key】【increment】【value】 :为元素的score加上增量
      在这里插入图片描述
    • zrem 【key】【value】:删除该集合下,指定值的元素
      在这里插入图片描述
    • zcount 【key】【min】【max】:统计该集合,分数区间内的元素个数
      在这里插入图片描述
    • zrank 【key】【value】:返回该值在集合中的排名,从0开始。
      在这里插入图片描述
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值