Redis

Redis 数据结构

Redis的是键值的数据结构,每条数据都是⼀个键值对

值的类型:

  • 字符串
  • 哈希散列
  • 列表列表
  • 集合集
  • 有序集合zset

字符串类型

字符串类型是Redis的中最基本的数据存储类型,
可以接受任何格式的数据
  • 设置

    • 设置键值
      set name 键值名称

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

      setex  key seconds  value
      
      setex lisi 7 19
      

      如原没有过期时间,重新设置过期时间

      expire key secends
      
    • 设置多个键值

      mset key value [ key value]
      mest key1 valu1 key2  valu2 ...
      
  • 获取

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

      get key
      
      get python
      
    • 根据多个键,获取多个值

      mget key [key ...]
      
      MGET lisi python
      
  • 运算

    • 值是数字, 将key对应的value加1

       incr key
      
    • 将key 对应的value加整数

      incrby key increment
      
    • 将key 对应的value 减1

      decr key
      
    • 将key 对应的value 减整数

      decrby key decrement
      
  • 其他

    • 追加值

      append key value
      
      append lisi sichuan
      
    • 获取值得长度

      strlen key
      
      srtlen lisi
      
    • 查看有效时间

      ttl k
      
      ttl python
      

键命令

  • 查找键,参数支持正则

    keys pattern
    
    查看所有键  keys *
    
    查看名称包含键 首字母为a的  kyes a*
    
  • 判断键值是否存在 ,存在返回1 ,不存在返回0

    exists key [key ...]
    
    exists python
    
  • 查看键对应的value的类型

    type key
    
  • 删除键及对应值

    del key [key ...]
    

哈希类型

哈希⽤于存储对象,对象的结构为属性,值的类型为字符串

  • 设置

    • 设置单个属性

      hset key filed value
      
      hset t1 name '解封镝'
      
    • 设置多个属性

      hmset key filed value [field value ...]
      
      hset k1  name '解封镝'  age 19
      
  • 获取

    • 获取一个属性的值

      hget key field
      
      hget k1 name
      
    • 获取多个属性的值

      hmget key field [field ...]
      
      hmget t1 name age 
      
    • 获取所有的属性和值

       hgetall key
      
      hgetall t1
      
    • 获取所有的属性

      hkeys key
      
      hkeys k1
      
    • 返回包含属性的个数

      hlen key
      
      hlen k1
      
    • 获取所有值

      hvals key
      
      hvals k1
      
  • 其它

    • 判断属性是否存在

      hexists key field
      
       hexists t1 name
      
    • 删除属性及值

      hdel key field [field ...]
      
    • 返回字符串长度

      hstrlen key field
      
      hstrlen k1 name
      

列表类型

列表的元素类型为string,按照插⼊顺序排序,在列表头部尾部添加

  • 设置

    • 在头部插入元素

      lpush key value [value ...]
      
      lpush k2 value1 value2 value3
      
    • 在尾部添加元素

      rpush key value [value ...]
      
    • 在指定元素的前|后插入新元素

       linsert key before |  after pivot  value
        linsert k before 或 after 现有元素  新元素
      
      linsert k3 after value3 value5
      
  • 获取

    • 返回表里指定范围内的元素(第一个0 尾为-1)

      lrange key start stop   
      
      lrange key 0 -1
      
    • 设置指定索引位置的元素值(可以为负 第一为0 尾为-1)

       lset key index value(修改元素值)
      
    • 移除并且返回key对应的list的第一个元素

       lpop key  | rpop key
      
      lpop k2
      
    • 删除指定元素

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

    • ltrim k3 start end
      
      ltrim k3 0  5    # 下标
      

集合

无序集合, 原宿string 类型,具有唯一性,不重复

  • 添加元素

    sadd key member [member ...]
    
    sadd k4 value1 valu2 valu3
    
  • 获取

    • 返回key 集合所有的元素

      smembers key
      
      smembers k4
      
    • 返回集合元素个数

      scard key
      
      scard k4
      
  • 其它

    • 求多个集合交集

      sinter key [key ...]
      
      sinter k4 k5
      
    • 求某个集合与其它集合的差集

       sdiff key [key ..]
      
    • 求多个集合的合集

      sunion key [key ...]
      
    • 判断元素是否在集合中

      sismember key member
      
      sismember k4 value
      

有序集合

zset 有序集合, 元素string类型,具有唯一性,不重复,每个元素关联一个double类型的socre,表示权重,通过权重的从小至大排序,元素的权重可以相同。

  • 添加

     zadd key score member [score member ...]
    
    zadd k6 1 abc 2 hello 3 world
    
  • 获取

    • 返回指定范围内的元素

      zrange key start stop
      
      zrange k6 0 -1
      
    • 返回元素个数

      zcard key
      
    • 返回有序key中,score值在min和max之间的成员个数

      zcount key min max
      
      zcount k6 1 10
      
    • 返回有序key中,成员member的socre值

      zscore key member 
      
      zscore k6 value1
      

你可能感兴趣的:(redis)