Redis自学(三)五种数据类型

字符串类型String

  • 存储序列化后的数据 ,Json化的对象甚至是一张图片
  • 支持最大512M
  • 基础命令
    1.set
    2.get
    3.incr:将key中存储的数字值加1,如果key不存在,则key的值先被初始化为0在执行incr操作(只能对数字类型的数据操作)
    4.decr:每次减一
    注意:incr和decr操作是原子性的,是线程安全的,可以作为计数器来使用(比如一个管理系统可以用他们来统计当前已经geng)
    5.append:
    语法:append key value
    如果key存在,则将value追加到key原来值得末尾
    如果key不存在,则将key的值设为value
    返回值,追加字符串值后的总长度
  • 常用命令
    1.strlen key
    返回key所存储的字符串值得长度
    返回值:如果key存在,返回字符串值长度
    key不存在返回0
    2.getrange key start end
    作用:获取key中字符串值从startt开始到end结束的字符串,包括start和end,负数表示从字符串的末尾开始,-1表示最后一个字符
    返回值:截取的字符串
    在这里插入图片描述
    截取所有字符:getrange key 0 -1
  1. setrange key offset value
    用value覆盖key的存储值从offset开始,不存在的key做空白字符串
    在这里插入图片描述
    1. mset key value[key value …]
      同时设置一个或多个key-value对
      返回值:ok

哈希类型hash

  • 存储完整java对象

  • 基础命令

  • hset hsah表的key field value
    将哈希表key中的域fieid的值设为value 如果key不存在,则新建hash表进行不是,如果有field则覆盖值。
    返回值:如果field是hash表中新field,且设置值成功返回1
    如果field已经存在,新值覆盖旧值,返回0

  • hget ey field
    获取哈希表key中给定域field的值
    返回值field域的值,如果key不存在或者field不存在返回nil

  • hmset key field value[key value…]

  • hmget key filed [field…]

  • hgetall key

  • hdel key filed[field…]

  • 常用命令

  • hkeys key 返回哈希表key中所有field

  • hvals key 返回哈希表key中所有的value

  • hexists key filed 给定域field是否存在
    返回值:如果field存在,返回1,其他返回0

列表类型list

  • 基本命令
  1. lpush key value[value…]
    将一个或多个value插入到列表key的表头
  2. rpush key value[value…]
  3. lrange key start stop
    获取start到stop下表区间的元素值(包括start和stop下标)
  4. lindex key index
    获取列表key中下标为指定ingdex的元素,列表元素不删除只查询
  5. llen key
    获取列表key的长度
  • 常用命令
    1. lrem key count value
      根据参数count的值,移除列表中与参数value相等的元素
      lrem item 2 2b
      表示从左侧删除item中2个值是2b的元素
      lrem item -2 2b
      表示从右侧删除item中两个值是2b的元素
      lrem item 0 2b
      表示删除列表item中所有值是2b的元素
    2. lset key index value
      将key下标为inde的元素值设为value
    3. linsert key BEFORE|ALFTER pivot value
      将value插入到列表key当中位于值pivot之前或者之后的位置。

集合类型set

集合中成员是唯一的,一个集合中不出现重复的数据

  • 基本命令
    1. sadd key member [member…]
      将一个或多个member元素加入到集合key当中,
    2. smembers key
      获取集合key 中的多有成员元素不存在的key视为空集合
    3. ismember key member
      判断member元素是否是集合key的成员
      有返回1没有0
    4. scard key
      获取集合里面的元素个数
      返回数字key的元素个数,其他情况返回0
    5. srem key member [member…]
      删除集合key中一个或多个member元素,不存在的元素别忽略
  • 常用命令
    1. srandmember key [count]
      只提供key,随机返回集合中一个元素
      count为正数时返回包含count个元素的集合,集合元素各不相同
      count是负数,返回一个count绝对值长度的集合,集合中元素可能重复多次。
    2. spop key [count]
      随机删除一个元素,count是删除的元素个数

有序集合类型zset

zset和set一样也是string类型元素的集合,且不允许有重复的成员。不同的是zset的每一个元素都会关联一个分数(分数可以重复),redis通过分数来为集合中的成员进行从小到大的排序。

  • 基本命令
    1. zadd key score member [ score member …]
      将一个或多个元素及其score值加入到有序集合key中,如果member存在集合中则更新值,score可以是整数或浮点数,默认从小到大排序,score值一样时按照字典序排列
    2. zrange key start stop[WITHSCORES]
      查询有序集合,指定区间内的元素,默认只返回value,WITHSCORES选项让score和value一同返回
    3. zrevrange key start stop [WITHSCORES]
      返回有序集key中,指定区间内的成员,其中成员的位置按dcore值递减排序,其他同zrange命令
    4. zrem key member[member]
      删除有序集合key中的一个或多个成员。
    5. zcard key
      获取有序集合key的元素成员个数
  • 常用命令
    1. zrangebyscore key min max [WITHSCORES][LIMIT offset count]
      获取有序集key中多有score值集介于min和max之间的成员(包括min和max)成员是按照递增排序。
      min,max是包括在内,使用符号(即为不包括 min,max可以使用-inf,+inf表示最小和最大
      limit用来限制返回结果的数量和区间的

    2. zrevrangebyscore key min max [WITHSCORES][LIMIT offset count]

    3. zcount key min max
      返回有序集key中score值在min和max之间(默认包括min和max)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值