zoukankan      html  css  js  c++  java
  • Redis 命令使用

    Redis 中所有 key-value 都储存在 Redis-Object 中,Redis-Object 主要信息有:

    • 数据类型(type)
      • string (字符串)
      • hash (Hash表)
      • list (链表)
      • set (无序不可重复集合)
      • sorted set (有序集合)
    • 编码方式(encoding)
      • raw
      • int
      • ht
      • zipmap
      • linkedlist
      • ziplist
      • intset
    • 数据指针(ptr)

    • 虚拟内存(vm)

    • …………..

    一、Redis 基础命令

    复制代码
    # 查看系统信息(Keyspace显示每个键空间中的数据数量)
    info
    
    # 测试链接是否OK(PONG为成功)
    ping
    
    # 退出客户端
    quit
    
    # 持久化到本地
    save
    
    # 查看当前键空间中数据量
    dbsize
    
    # 切换键空间,默认为0
    select 0
    
    # 清除当前键空间数据(info中的Keyspace)
    flushdb
    
    # 清除所有键空间数据
    flushall
    复制代码

    二、Redis 键命令

    复制代码
    # 添加字符串类型a-abc
    set a abc
    
    # 添加哈希类型a-abc
    hset hsah hahaha zhangsan
    
    # 删除a-abc,返回1成功,0失败
    del a
    
    # 查看所有key,*为正则表达式,表示所有
    keys *
    
    # 判断是否存在,返回1为存在,0为不存在
    exists a
    
    # 设置a的生命周期为10秒
    expire a 10
    
    # 查看这条数据的生存时间,单位秒,返回-1为不过期,-2表示key不存在
    ttl a
    
    # 查看键a对应value的数据类型
    type a
    
    # 随机获取key的值
    randomkey
    
    # 重命名key,把a命名为b,会覆盖已存在的key
    rename a b
    
    # 重命名key,如果b存在会重命名失败
    renamenx a b
    复制代码

    三、String 操作

    复制代码
    # 添加字符串类型a-abc,成功返回OK
    set a abc
    
    # 添加字符串类型a-abc,存活时间100秒
    setex a 100 abc
    
    # 添加字符串类型a-abc,存活时间10000毫秒(10秒)
    psetex a 10000 abc
    
    # 获取指定下表字符串---(abc),闭合空间,包前后边界
    getrange a 0 2
    
    # 设置新值,返回旧值---(abc)
    getset a zxc
    
    # 设置多个值 a-abc,z-zxc
    mset a abc z zxc
    
    # 获取多个值
    mget a z
    
    # 添加字符串类型a-abc,键a存在会设置失败
    setnx a abc
    
    # 添加字符串类型a-abc,其中一个key存在就会全部设置失败(有原子性)
    msetnx a abc z zxc
    
    # 获取字符串长度---(3)
    strlen a
    
    # key对应value为数值,value会加一
    set s 21
    incr s
    
    # key对应value为数值,value会加制定数量
    set s 21
    incrby s 100
    
    # 同上为减操作
    decr
    decrby
    
    # 在key对应value的末尾添加字符串,会返回添加后的字符串
    append a xyz
    复制代码

    四、Hash 操作

    复制代码
    # 给key为map的键值设置键为name值为jim
    hset map name jim
    hset map age 18
    
    # 判断key对应value是否有存在的key,有返回1,无返回0
    hexisit map name
    
    # 获取key对应value中的key对应的值,不存在返回nil
    hget map name
    
    # 获取key对应value中的所有键值对
    hgetall map
    
    # 获取key对应value中的所有key
    hkeys map
    
    # 获取key对应value中的所有value
    hvals map
    
    # 获取key对应value中的键值对数量
    hlen map
    
    # 获取多个
    hmget map name age
    
    # 设置多个
    hmset map sex nan phone 1234568798
    
    # 删除key对应value中的键值对
    hdel map phone sex
    
    # 若map中存在name会添加失败
    hsetnx map name newjim
    复制代码

    五、List 操作

    复制代码
    # 添加list
    lpush list 1 2 3 4 5 6 7 8 9 10
    
    # 获取长度
    llen lsit
    
    # 按范围取值,栈---("10" "9" " 8")
    lrange list 0 2
    
    # 设置指定下表元素 (10->100)
    lset list 0 100
    
    # 获取指定下标元素---("5")
    lindex list 5
    
    # 移除第一个元素,并返回(100)
    lpop list
    
    # 移除最后一个元素,并返回(1)
    rpop list
    复制代码

    六、Set 操作,Hash 实现,复杂度 O(1)

    复制代码
    # 添加
    sadd set a b c d
    sadd set a(会失败,set不可重复集合)
    
    # 获取元素数量---(4)
    scard set
    
    # 查看所有元素
    smembers set
    
    # 获取差集
    sadd set1 c d e f
    sdiff set set1---("b" "a")
    sdiff set1 set---("f" "e")
    
    # 获取交集---("c" "d")
    sadd set1 c d e f
    sinter set set1
    
    # 获取并集---("d" "f" "b" "a" "c" "e")
    sadd set1 c d e f
    sunion set set1
    
    # 随机获取指定个数的元素
    srandmember set 2
    
    # 判断是否为成员元素,返回1是,返回0不是
    sismember set a
    
    # 移除指定成员元素
    srem set a b
    
    # 移除一个随机元素并返回该元素
    spop set
    复制代码

    七、Sorted Set 操作,通过分数保证顺序,Hash 实现,复杂度 O(1)

    复制代码
    # 添加
    zadd sortedset 100 a 200 b 300 c
    
    # 元素个数---(3)
    zcard sortedset
    
    # 查看元素分数---(100)
    zscore sortedset a
    
    # 查看分数区间的元素个数---(2)
    zcount sortedset 0 220
    
    # 返回指定元素索引
    zrank sortedset a---(0)
    zrank sortedset b---(1)
    zrank sortedset c---(2)
    
    # 增加元素分数
    zincrby sortedset 1000 a
    
    # 按照索引获取元素---("b" "c" "a")
    zrange sortedset 0 10
    
    # 按照索引获取元素和分数---("b" 200 "c" 300 "a" 1100)
    zrange sortedset 0 10 withscores
    复制代码
  • 相关阅读:
    evernote100个做笔记的好方法
    平衡二叉树的调整模版
    晨间日记的奇迹
    hdu 2952 Counting Sheep
    hdu 1535 Invitation Cards
    poj 3259 Wormholes(spfa)
    poj 2263 Heavy Cargo(floyd)
    poj 3268 Silver Cow Party(SPFA)
    hdu 1690 Bus System
    hdu 3631 Shortest Path(Floyd)
  • 原文地址:https://www.cnblogs.com/jhxxb/p/11736613.html
Copyright © 2011-2022 走看看