• 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
    复制代码
  • 相关阅读:
    windows+vs2017+C语言 引入mysql.h对MYSQL数据库的操作
    开发依赖和运行依赖
    vue-cli 如何修改或删除预设preset记录
    git stash 缓存本地修改 简介
    DWZ 框架详解
    vue 脚手架(二,项目依赖说明 package.json)
    vue 脚手架(一,创建脚手架)
    JavaScript Number() Vs new Number()
    Flex 布局的各属性取值解释
    mysql explain extended 查看 执行计划
  • 原文地址:https://www.cnblogs.com/jhxxb/p/11736613.html
Copyright © 2020-2023  润新知