跳至主要內容

基础

酷风大约 2 分钟

基础

介绍

  • Redis
    • 开源(BSD许可)
    • 内存数据结构存储
  • 最受欢迎的NoSQL数据库之一
  • 高性能的key-value数据库
  • 被用作
    • 数据库
    • 缓存
    • 消息代理
    • 流引擎
  • 支持持久化
    • 快照(snapshotting,RDB
    • 只追加文件(append-only file, AOF)
      • AOF 持久化的实时性更好
      • 开启AOP appendonly yes,Redis 6.0 之后 默认开启
    • RDB 和 AOF 的混合持久化(Redis 4.0 新增)

数据类型及命令

String(字符串)

设置key值

  • set key value

获取key值

  • get key

List(列表)

设置列表值

  • rpush/lpush key value1 value-n ... 在列表尾部或头部(右边或左边)添加一个或多个元素

列表元素操作

  • rpop/lpop key 移除并获取尾部或头部(右边或左边)第一个元素
  • llen key 元素数量
  • lrange key start end 获取列表 start 和 end 之间 的元素

Hash(哈希)

  • key 对象标识

  • field-value 键值对,对象字段

  • hset testkey fieldkey fieldvalue

  • hget testkey fieldkey

  • hset testkey fieldkey fieldvalue-update fieldkey1 fieldvalue1 相同的key,值会被直接修改

  • 获取多个字段 hmget testkey fieldkey fieldvalue-update

  • 字段数量 hlen testkey

  • 获取所有字段和值 hgetall testkey

  • 删除字段 hdel testkey fieldkey

  • 判定字段是否存在 hexists testkey fieldkey

Set(集合)

  • 无序元素唯一集合

  • 设置set集合元素 sadd setkey value1 value2 value1

  • 获取所有元素 smembers setkey

  • 元素是否存在 sismember setkey value1

  • 元素数量 scard setkey

  • 两个集合的交集

    • sadd setkey1 value1 value2 value3
    • sinter setkey setkey1

Zset(有序集合)

  • 元素带有权重 score 参数

  • 按 score 排序

  • 设置集合 zadd zsetkey 100 member0 101 member1 103 member0

    • 元素相同会被覆盖,score权重改变
  • 获取元素数量 zcard zsetkey

  • 获取元素score zscore zsetkey member0

  • 获取元素列表 score 升序排列 zrange zsetkey 0 1

  • 获取元素列表 score 降序排列 zrevrange zsetkey 0 1

  • 元素score升序/降序的排序 zrank/zrevrank zsetkey member0

其他命令

删除key

  • del key

key是否存在

  • exists key

设置过期时间

  • expire key 过期后key已不存在

系统配置

  • config get *max*client*
  • config get requirepass