Redis的数据类型

一、数据结构

  • Redis是key-value的数据结构,每条数据都是一个键值对
  • 键的类型是字符串
  • 注意:键不能重复,重复的话会覆盖之前的值
  • 值的类型分为五种:
    • 字符串string
    • 哈希hash
    • 列表list
    • 集合set
    • 有序集合zset

  

 

0.键命令

  在redis里面,除了"\n"和空格不能作为名字的组成内容外,其他内容都可以作为key的名字部分。名字长度不做要求。

  • 查找键,参数支持正则表达式 

    keys pattern

    

    

    

  • 判断键是否存在,如果存在返回1,不存在返回0

    exists key1

    

  • 查看键对应的value的类型

    type key

     

  • 删除键及对应的值

    del key1 key2 ...

    

    

  • 设置过期时间,以秒为单位
  • 如果没有指定过期时间则一直存在,直到使用DEL移除

    expire key seconds

    

  • 查看有效时间,以秒为单位

     ttl key

    

    

  其他keys键操作

  • 改名字

    rename oldkey newkey

  • 返回当前数据库的key数量

    dbsize 

  • 选择数据库,最多有16个数据库供选择,默认的数据库为0

    select dbindex

  • 将key从当前数据库移动到指定数据库

    move key dbindex

  • 删除当前数据库中所有key

    flushdb

  • 删除所有数据库中的所有key

    flushall

1.string类型

  字符串类型是Redis中最为基础的数据存储类型,它在Redis中是二进制安全的,这便意味着该类型可以接受任何格式的数据,如JPEG图像数据或JSON对象描述信息等。在Redis中字符串类型的value最多可以容纳的数据长度是512M。

1.1保存

  • 设置键值,如果设置的键不存在则为添加,如果设置的键已经存在则为修改

    set key value

    

  • 设置键值及过期时间,以秒为单位

    setex key seconds value

    

    

    

  • 设置多个键值

    mset key1 value1 key2 value2

    

  • 追加值

    append key value

    

1.2获取

  • 根据键获取值,如果不存在此键则返回nil

    get key

    

  • 根据多个键获取多个值

    mget key1 key2 ...

    

2.hash

2.1hash类型

  • hash用于存储对象,对象的结构为属性、值
  • 值的类型为string

2.2增加、修改

  • 设置单个属性

    hset key field value

  • 例1:设置键xiaomin的属性height为180

    hset xiaomin height 180  

    

  • 报错解决办法

    

  • 设置多个属性值

    hmset key field1 value1 field2 value2

··   

2.3获取

  •  获取指定键所有的属性

    hkeys key 

    

  • 获取一个属性的值

    hget key field

    

  • 获取多个属性的值

    hmget key field1 field2...

    

  • 获取所有属性的值

    hvals key

     

2.4删除

  • 删除整个hash键及值,使用del命令
  • 删除属性,属性对应的值会被一起删除

    hdel key field1 field2...

    

3.list

 3.1增加

  • 在左侧插入数据

    lpush key value1 value2...

    

    取列表中所有的值:

    

  • 在右侧插入数据

    rpush key value1 value2...

    

  • 在指定元素的前或者后插入新元素

     linsert key before或after 现有元素 新元素

    

    

3.2获取

  • 返回列表里指定范围内的元素
    • start、stop为元素的下标索引
    • 索引从左侧开始,第一个元素为0
    • 索引可以是负数,表示从尾部开始计数,如-1表示最后一个

    lrange key start stop

    

3.3设置指定索引位置的元素值

  • 索引从左侧开始,第一个元素为0
  • 索引可以是负数,表示尾部开始计数,如-1表示最后一个

     lset key index value 

     

      

 3.4删除

  • 删除指定元素
    • 将列表中前count次出现的值为value的元素移除
    • count>0:从头往尾移除
    • count<0:从尾往头移除
    • count=0:移除所有

    lrem key count value

    

    

    

4.set 

  •  无序集合
  • 元素为srting类型
  • 元素具有唯一性,不重复
  • 说明:对于集合没有修改操作

4.1 增加

  •  添加元素

    sadd key member1 member2... 

     

4.2获取

  • 返回所有的元素

 

    smembers key

    

4.3删除

  • 删除指定元素

     srem key

     

    

5.zset

  •  sorted set,有序集合

  • 元素为string类型
  • 元素具有唯一性,不重复
  • 每个元素都会关联一个double类型的score,表示权重,通过权重将元素从小到大排序
  • 说明:没有修改操作

 5.1增加

  • 添加

     zadd key score1 member1 score2 member2...

    

    

5.2获取

  • 返回指定范围内的元素
  • start、stop为元素的下标索引
  • 索引从左侧开始,第一个元素为0
  • 索引可以是负数,表示从尾部开始计数,如-1表示最后一个元素

     zrange key start stop

     

    

  • 返回score值在min和max之间的成员

    zrangebyscore key min max

    

    

  • 返回成员member的score值

    zscore key member

    

    

5.3 删除

  •  删除指定元素

    zremkey member1 member2...

    

    

  • 删除权重在指定范围的元素

    zremrangebyscore key min max

   

    

 

 

 

     

 

 

 

 

 

 

 

 

 

转载于:https://www.cnblogs.com/mia0812/p/10971513.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值