redis基础数据类型

  • redis是一种高级的key:value存储系统,其中value支持五种数据类型

    • 字符串(strings)
    • 散列(hashes)
    • 列表(lists)
    • 集合(sets)
    • 有序集合(sorted sets)
  • 基本命令

    keys *                查看所有key
    type key              查看key类型
    expire key seconds    设置过期时间   #expire xk 60
    ttl key               查看key过期剩余时间        -2表示key已经不存在了
    persist               取消key的过期时间   -1表示key存在,没有过期时间
    exists key            判断key存在    存在返回1    否则0
    del keys              删除key    可以删除多个
    dbsize                计算key的数量
    
  1. strings类型

    set   设置key
    get   获取key
    append  追加string
    mset   设置多个键值对
    mget   获取多个键值对
    del  删除key
    incr  递增+1   #没有类型限制  str和int都可以
    decr  递减-1
    
  2. list类型

    lpush         从列表左边插
    rpush         从列表右边插
    lrange        获取一定长度的元素  lrange key  start stop
    lrange S21 0 -1
    
    ltrim         截取一定长度列表 
    ltrim S21 0 3    #索引0-3  截取  其余删除
    
    lpop          删除最左边一个元素
    rpop          删除最右边一个元素
    lpushx/rpushx key存在则添加值,不存在不处理
    
  3. set类型

    • redis的集合,是一种无序的集合,集合中的元素没有先后顺序。
    sadd/srem        添加/删除 元素
    sismember        判断是否为set的一个元素
    smembers         返回集合所有的成员
    sdiff            返回一个集合和其他集合的差异
    sinter           返回几个集合的交集
    sunion           返回几个集合的并集
    
  4. 有序集合

    zadd  benghuai 70 kiana   #70是成绩
    zreverange 倒序
    zrange  正序
    #zrange beng 0 -1
    zcard   返回zset的元素个数
    zscore  返回元素对应的值
    #zscore beng jizi
    zrank   返回排名,默认是按照score 从小到大排序
    zrem    移除这个集合对应的值
    #zrem beng jizi
    
  5. 哈希数据结构

    hset    设置散列值
    # hset arknights name 'aneng' age '17' weapon 'gun'
    hget    获取散列值
    # hget arknights name
    hmset   设置多对散列值  #用法和hset相同
    hmget   获取多对散列值
    # hmget arknights name age weapin
    hsetnx  如果散列已经存在,则不设置(防止覆盖key)
    hkeys   返回所有keys
    hvals   返回所有values
    hlen    返回散列包含域(field)的数量
    hdel    删除散列指定的域(field)
    hexists 判断是否存在
    
posted @ 2019-11-05 16:43  Kn19ht  阅读(82)  评论(0编辑  收藏  举报