Redis常用命令

Redis 介绍

Redis 是一种基于键值对(key-value)的数据库,其中 value 可以为 String、Hash、List、 Set、Zset 等多种数据结构,可以满足很多应用场景。还提供了键过期,发布订阅,事务, 流水线,等附加功能。

流水线:Redis 的流水线功能允许客户端一次将多个命令请求发送给服务器, 并将被执行的多个命令请求的结果在一个命令回复中全部返回给客户端,使用这个功能可以有效地减少客户端在执行多个命令时需要与服务器进行通信的次数。

特性

  1. 速度快,数据放在内存中,官方给出的读写性能 10 万/S,与机器性能也有关
    数据放内存中是速度快的主要原因
    1. C 语言实现,与操作系统距离近
    2. 使用了单线程架构,预防多线程可能产生的竞争问题
  2. 键值对的数据结构服务器
  3. 丰富的功能:见上功能
  4. 简单稳定:单线程
  5. 持久化:发生断电或机器故障,数据可能会丢失,持久化到硬盘
  6. 主从复制:实现多个相同数据的 redis 副本
  7. 高可用和分布式:哨兵机制实现高可用,保证 redis 节点故障发现和自动转移
  8. 客户端语言多:java php python c c++ nodejs 等

使用场景

  1. 缓存:合理使用缓存加快数据访问速度,降低后端数据源压力
  2. 排行榜:按照热度排名,按照发布时间排行,主要用到列表和有序集合
  3. 计数器应用:视频网站播放数,网站浏览数,使用 redis 计数
  4. 社交网络:赞、踩、粉丝、下拉刷新
  5. 消息队列:发布和订阅

安装与启动

环境:linux

可执行文件 作用
redis-server 启动 redis
redis-cli redis 命令行客户端
redis-benchmark 基准测试工具
redis-check-aof AOF 持久化文件检测和修复工具
redis-check-dump RDB 持久化文件检测和修复工具
redis-sentinel 启动哨兵

redis-server 启动

默认配置:redis-server ,日志输出版本信息,端口6379

运行启动:redis-server --port 6380 不推荐

配置文件启动:redis-server /opt/redis/redis.conf 灵活,生产环境推荐使用

redis-cli 启动

交互式:redis-cli -h [host] -p [port] 连接到 redis 服务,无 -h [host] 参数默认连接 127.0.0.1,无 -p [port] 参数默认连6379

命令式:redis-cli -h 127.0.0.1 -p 6739 get hello 取 key = hello 的 value

停止服务:redis-cli shutdown 关闭时:断开连接,生成持久化文件,相对安全;使用 kill 关闭不会生成持久化文件,还会造成缓冲区非法关闭,可能会造成 AOF 和丢失数据

常用命令

全局命令

命令 功能
keys * 查看所有键
dbsize 查看键总数,如果存在大量键,线上禁止使用此命令
exists [key] 查看键是否存在,存在返回1,不存在返回0
del [key] 删除键, 返回删除键的个数,删除不存在的键返回0
expire [key] [seconds] 设置键过期时间
ttl [key] 查看剩余的过期时间
type [key] 查看键的数据结构类型,键不存在返回 none