• redis 服务器搭建
  • 本机wamp环境(windows10)安装redis
  • 在Linux上安装redis6.2(centOS)
  • redis 应用模式
  • redis是什么
  • redis的八大特性
  • redis应用场景
  • redis架构部署模式
  • 主从同步模式(replication)
  • 哨兵模式(sentinel)
  • 集群模式(cluster)
  • 分布式与微服务
  • redis 配置管理
  • redis-cli 命令行工具 命令行客户端程序
  • redis配置 redis配置详解
  • 数据复制(replication) 设置主从复制
  • 数据持久化(persistence) 配置redis的持久化
  • 管理实例 管理 Redis 实例
  • 安全机制 redis安全机制
  • 通讯加密 如何加密 Redis client-server 通迅
  • 信号处理 SIGTERM信号的处理
  • 客户端连接 处理客户端连接
  • 延迟监控 redis集成的延迟监控和报告功能
  • redis-benchmark 性能测试工具 redis基准测试性能测试工具
  • redis集群 Redis集群使用指南
  • redis 集群规范 redis 集群使用规范
  • sentinel 哨兵模式 高可用sentinel 哨兵模式
  • redis 编程
  • 管道(pipelining) 使用管道提高查询速度
  • 分区(partitioning) 把数据分布在多个Redis
  • 内存优化 使用内存技巧
  • 分布式锁 Redlock算法
  • 创建二级索引 使用redis的数据结构创建二级索引
  • 键空间通知(keyspace notification) 获得key空间通知时间
  • 通信协议(protocol) redis通信协议详细规范 RESP
  • PHP 使用 redis 安装phpredis驱动
  • Java 使用 Redis 安装jedis.jar驱动
  • php + redis 实现商城高并发秒杀 商城高并发秒杀
  • redis 实现消息队列的4种方案
  • redis 缓存穿透、击穿、雪崩
  • 字符串(string)
  • set 命令 设置 key 的字符串值
  • get 命令 获取 key 的字符串值
  • getrange 命令 截取 key 值的某部分
  • getset 命令 设置key 的值,并返回 key 旧值
  • mget 命令 获取多个 key 的值
  • setex 命令 设置值与过期时间
  • setnx 命令 给无值的 key 设定值
  • setrange 命令 从指定位置开始设置值
  • strlen 命令 所存字符串的长度
  • mset 命令 设置一个或多个 key-value 对
  • msetnx 命令 给无值的 key 设定一个或者多个值
  • psetex 命令 设置值与过期时间(以毫秒为单位)
  • incr 命令 将 key 中储存的数字值增1
  • incrby 命令 设置固定增量值
  • incrbyfloat 命令 设置 key 的浮点增量值
  • decr 命令 将 key 中储存的数字值减1
  • decrby 命令 把key 所储存的值减去某值
  • append 命令 追加字符串
  • 哈希(hash)
  • hset 命令 设置 hash 字段的值
  • hget 命令 获取 hash 字段的值
  • hgetall 命令 获取 hash 所有字段和值
  • hkeys 命令 获取 hash 表中所有字段名
  • hlen 命令 获取 hash 表中字段的数量
  • hmset 命令 设置多个 hash 键值对
  • hmget 命令 获取所有给定字段的值
  • hexists 命令 检测指定的字段是否存在
  • hsetnx 命令 字段不存在时设置此字段以及值
  • hvals 命令 获取 hash 中所有值
  • hincrby 命令 指定字段的整数值加上增量
  • hincrbyfloat 命令 给指定字段的浮点数值加上增量
  • hdel 命令 删除一个或多个哈希表字段
  • 列表(list)
  • lpush 命令 将一个或多个值插入到列表头部
  • lpushx 命令 将一个或者多个值插入到已存在的列表头部
  • rpush 命令 在列表中尾部添加一个或多个值
  • rpushx 命令 为已存在的列表末尾添加值
  • lpop 命令 移除并返回列表 key 的头元素
  • rpop 命令 移除并获取列表最后一个元素
  • rpoplpush 命令 移除列表的最后一个元素,并将该元素添加到另一个列表并返回
  • lrem 命令 移除列表元素
  • llen 命令 获取列表长度
  • lindex 命令 通过索引获取列表中的元素
  • linsert 命令 在列表的元素前或者后插入元素
  • lset 命令 通过索引设置列表元素的值
  • lrange 命令 获取列表指定范围内的元素
  • ltrim 命令 让列表只保留指定区间内的元素
  • blpop 命令 移出并获取列表的第一个元素
  • brpop 命令 移出并获取列表的最后一个元素
  • brpoplpush 命令 从列表中弹出一个值,并将该值插入到另外一个列表中并返回它
  • 集合(set)
  • sadd 命令 向集合添加一个或多个成员
  • smembers 命令 返回集合中的所有成员
  • sismember 命令 判断 member 元素是否是集合 key 的成员
  • scard 命令 获取集合的成员数
  • srandmember 命令 返回集合中一个或多个随机成员
  • spop 命令 移除并返回集合中的一个随机元素
  • sscan 命令 迭代集合中的元素
  • srem 命令 移除集合中一个或多个成员
  • sdiff 命令 返回给定所有集合的差集
  • sdiffstore 命令 返回给定所有集合的差集并存储在 destination 中
  • sinter 命令 返回给定所有集合的交集
  • sinterstore 命令 返回给定所有集合的交集并存储在 destination 中
  • sunion 命令 返回所有给定集合的并集
  • sunionstore 命令 所有给定集合的并集存储在 destination 集合中
  • smove 命令 将 member 元素从 source 集合移动到 destination 集合
  • 有序集合(sorted set)
  • zadd 命令 向有序集合添加一个或多个成员
  • zcard 命令 获取有序集合的成员数
  • zcount 命令 计算在有序集合中指定区间分数的成员数
  • zlexcount 命令 在有序集合中计算指定字典区间内成员数量
  • zscore 命令 返回有序集中成员的分数值
  • zrevrank 命令 返回有序集中成员按分数值递减排列
  • zrange 命令 返回有序集中成员按分数值递增排列
  • zrangebyscore 命令 通过分数返回有序集合指定区间内的成员
  • zrangebylex 命令 通过字典区间返回有序集合的成员
  • zrevrange 命令 返回有序集中成员按分数值递减排列
  • zrevrangebyscore 命令 返回有序集中成员按分数值递减排列
  • zrem 命令 移除有序集合中的一个或多个成员
  • zremrangebyscore 命令 移除有序集合中给定的分数区间的所有成员
  • zremrangebyrank 命令 移除有序集合中给定的排名区间的所有成员
  • zremrangebylex 命令 移除有序集合中给定的字典区间的所有成员
  • zincrby 命令 有序集合中对指定成员的分数加上增量 increment
  • zinterstore 命令 计算给定的一个或多个有序集的交集并将结果集存储在新的有序集合 key 中
  • zunionstore 命令 计算给定的一个或多个有序集的并集,并存储在新的 key 中
  • zscan 命令 迭代有序集合中的元素
  • zrank 命令 返回有序集合中指定成员的索引
  • 基数(HyperLogLog)
  • pfadd 命令 添加指定元素到 HyperLogLog 中
  • pfcount 命令 返回给定 HyperLogLog 的基数估算值
  • pgmerge 命令 将多个 HyperLogLog 合并为一个 HyperLogLog
  • 地理信息(geo)
  • geoadd 命令 添加地理位置的坐标
  • geopos 命令 获取地理位置的坐标
  • geodist 命令 计算两个位置之间的距离
  • georadius 命令 根据用户给定的经纬度坐标来获取指定范围内的地理位置集合
  • georadiusbymember 命令 根据储存在位置集合里面的某个地点获取指定范围内的地理位置集合
  • geohash 命令 返回一个或多个位置对象的 geohash 值
  • 位图(bitmaps)
  • getbit 命令 获取指定偏移量上的位
  • setbit 命令 设置或清除偏移量上的位
  • bitop 命令 对指定key按位进行交、并、非、异或操作,并将结果保存到destKey中
  • bitcount 命令 统计被设置为 1 的比特位的数量
  • bitpos 命令 返回位图中第一个值为 bit 的二进制位的位置
  • bitfield 命令 以位数组的方式处理数据
  • 消息队列(stream)
  • xadd 命令 向队列添加消息
  • xtrim 命令 驱逐较旧的条目来限制长度
  • xdel 命令 移除指定的条目
  • xlen 命令 获取流包含的元素数量
  • xrange 命令 顺序访问流中的元素
  • xrevrange 命令 逆序访问流中的元素
  • xread 命令 以阻塞或非阻塞方式获取流元素
  • xgroup 命令 管理消费者组
  • xreadgroup 命令 读取消费组中的消息
  • xack 命令 处理已经消费的信息
  • xpending 命令 显示待处理消息的相关信息
  • xclaim 命令 转移消息的归属权
  • xinfo 命令 查看流和消费者组的相关信息
  • 事务(transactions)
  • multi 命令 标记一个事务块的开始
  • exec 命令 执行所有事务块内的命令
  • watch 命令 监视一个或多个 key
  • unwatch 命令 取消 WATCH 命令对所有 key 的监视
  • discard 命令 取消事务
  • 脚本(Lua)
  • eval 命令 执行 Lua 脚本
  • evalsha 命令 执行 Lua 脚本
  • script load 命令 将脚本 script 添加到脚本缓存中
  • script exists 命令 校验脚本是否在缓存中
  • script flush 命令 移除脚本缓存
  • script kill 命令 杀死当前正在运行的 Lua 脚本
  • 键(key)
  • keys 命令 查找所有符合给定模式(pattern)的 key
  • exists 命令 检查给定 key 是否存在
  • type 命令 返回 key 所储存的值的类型
  • randomkey 命令 从当前数据库中随机返回一个 key
  • rename 命令 修改 key 的名称
  • renamenx 命令 当新键不存在时修改 key 的名称
  • move 命令 当前数据库的 key 移动到给定的数据库 db 当中
  • del 命令 删除已存在的键key
  • dump 命令 序列化给定 key 键
  • restore 命令 反序列化给定值
  • sort 命令 队列集合有序集合的排序
  • scan 命令 于迭代数据库中的数据库键
  • expire 命令 用秒来设置 key 过期时间
  • expireat 命令 以 UNIX 时间戳格式设置 key 的过期时间
  • pexpireat 命令 用毫秒来设置 key 的过期时间
  • persist 命令 移除给定 key 的过期时间使得 key 永不过期
  • ttl 命令 以秒为单位返回 key 的剩余过期时间
  • pttl 命令 以毫秒为单位返回 key 的剩余的过期时间
  • touch 命令 修改一个或者多个 key 最后访问时间
  • object 命令 返回数据类型
  • migrate 命令 数据迁移
  • wait 命令 阻塞当前客户端
  • unlink 命令 删除指定的一个或者多个 key
  • 发布订阅(pub/sub)
  • subscribe 命令 订阅给指定频道的信息
  • unsubscribe 命令 退订给定的频道
  • psubscribe 命令 订阅一个或多个符合给定模式的频道
  • punsubscribe 命令 退订所有给定模式的频道
  • publish 命令 将信息发送到指定的频道
  • pubsub 命令 查看订阅与发布系统状态
  • redis 连接(redis-cli)
  • auth 命令 验证密码是否正确
  • ping 命令 查看服务是否运行
  • echo 命令 打印字符串
  • select 命令 选择数据库
  • quit 命令 关闭当前连接
  • redis 服务器管理命令(redis-server)
  • info 命令 获取 Redis 服务器的各种信息和统计数值
  • config get 命令 获取指定配置参数的值
  • config set 命令 修改 redis 配置参数无需重启
  • config rewrite 命令 修改 redis.conf 配置文件
  • config resetstat 命令 重置 INFO 命令中的某些统计数据
  • time 命令 返回当前服务器时间
  • slowlog 命令 管理 redis 慢日志
  • client list 命令 获取连接到服务器的客户端连接列表
  • client setname 命令 设置当前连接的名称
  • client getname 命令 获取连接的名称
  • client pause 命令 在指定时间内终止运行来自客户端的命令
  • client kill 命令 关闭客户端连接
  • client unblock 命令 除客户端的阻塞
  • client id 命令 返回当前连接的 ID
  • client tracking 命令 启用redis服务器的跟踪功能
  • client caching 命令 控制对连接执行的下一个命令中的键的跟踪
  • command 命令 获取 Redis 命令详情数组
  • command info 命令 获取指定 Redis 命令描述的数组
  • command count 命令 获取 Redis 命令总数
  • command getkeys 命令 获取给定命令的所有键
  • memory help 命令 打印出memory指令的信息
  • memory stats 命令 返回redis服务器的内存使用情况
  • memory usage 命令 查看值在内存中占用的字节数
  • memory doctor 命令 提供内存使用方面的建议
  • memory malloc-stats 命令 打印内存分配器状态
  • memory purge 命令 请求分配器释放内存
  • dbsize 命令 返回当前数据库的 key 的数量
  • flushdb 命令 删除当前数据库的所有key
  • flushall 命令 删除所有数据库的所有key
  • save 命令 同步保存数据到硬盘
  • bgsave 命令 异步保存数据到硬盘
  • bgrewriteaof 命令 异步执行一个 AOF 文件重写操作
  • lastsave 命令 返回最近一次 Redis 成功将数据保存到磁盘上的时间
  • slaveof 命令 主从服务器转化
  • monitor 命令 调试命令:返回服务器处理的每一个命令
  • debug object 命令 调试命令:获取 key 的调试信息
  • debug segfault 命令 调试命令:让reids服务崩溃
  • role 命令 返回主从实例所属的角色
  • sync 命令 同步主从服务器数据
  • shutdown 命令 异步保存数据并关闭服务器