# 启动redis 默认配置启动: redis-server 指定配置启动 语法: redis-server --configKey1 configValue1 --configKey2 configValue2 范例,使用6380端口号启动: redis-server --port 6380 配置文件启动 redis-server /opt/redis/redis.conf # 连接redis客户端 redis-cli -h host_name -p port # 停止redis redis-cli shutdown # 获取redis备份目录,找到对应的rdb文件 redis> CONFIG GET dir # 查看所有键 redis> kyes * # chak 所有键总数 redis> dbsize # 检查键是否存在 redis> exists key_name 返回键存在则返回1,不存在则返回0 # 修改键的名称 redis> rename old_key_name new_key_name # 新的键不存在时修改键的名称 redis> renamenx old_key_name new_key_name 范例: newkey 不存在,改名成功 redis> SET player "MPlyaer" OK redis> EXISTS best_player (integer) 0 redis> RENAMENX player best_player (integer) 1 newkey存在时,失败 redis> SET animal "bear" OK redis> SET favorite_animal "butterfly" OK redis> RENAMENX animal favorite_animal (integer) 0 redis> get animal "bear" redis> get favorite_animal "butterfly" # 移动当前数据库的 key 到指定的数据库 db redis> move key_name destination_database 范例: redis> MOVE song 1 # 删除键 redis> del key [key ...] del命令可以支持删除多个键。 del 是一个通用命令,无论值是什么数据结构类型都可以删除。 del返回结果为成功删除键的个数,如果删除一个不存在的键就会返回0 # 键过期 设置键过期 redis> expire key seconds 范例,给hello 设置 200 秒过期时间: redis> expire hello 200 查看键剩余过期时间 redis> ttl key ttl命令返回值说明: 1.大于等于0的整数 :键剩余的过期时间。 2.-1 :键没设过期时间 3.-2 :键不存在 # 移除键过期时间 redis> persist key # 查看键的数据结构类型 redis> type key # 查看Redis的详细状态 redis> INFO ALL # 实时查看Redis的keys、mem、clients、tps等信息 $ redis-cli -h ip -p port --stat # 获取N条Redis慢日志信息 redis> SLOWLOG GET N # 获取配置信息 redis> CONFIG GET * # 动态修改配置信息 redis> CONFIG SET parameter value # 手工触发RDB持久化 redis> BGSAVE # 手工触发AOF文件重写 redis> BGREWRITEAOF # Redis hotkeys、bigkeys查看 hotkeys参数仅在内存策略 maxmemory-policy 为 volatile-lfu/ allkeys-lfu 时可用。 $ redis-cli -h 10.186.63.166 -p 6001 -a 'AY*s23y7Qt5w+J#rz^FoEBBB*Rc$u^qg' --hotkeys $ redis-cli -h 10.186.63.166 -p 6001 -a 'AY*s23y7Qt5w+J#rz^FoEBBB*Rc$u^qg' --bigkeys # Redis Sentinel 管理命令 查看所有被监测的主服务器,以及这些主服务器的当前状态 通过redis-cli登录任意sentinel的端口 $ redis-cli -h 127.0.0.1 -p 26379 -a 'AY*s23y7Qt5w+J#rz^FoEBBB*Rc$u^qg' redis sentinel> SENTINEL masters # 根据给定的sentinel集群的组名,返回该组其他Sentinel实例的信息 redis sentinel> SENTINEL slaves <master name> # 检查当前Sentinel配置是否能够达到故障转移主服务器所需的仲裁 redis sentinel> SENTINEL ckquorum<master name> # 在不询问其他 Sentinel 意见的情况下, 强制开始一次自动故障迁移 redis sentinel> SENTINEL failover <master name> # Redis Cluster 状态信息查看 查看集群当前状态信息 $ /data/redis/base/4.0.14/src/redis-trib.rb check exists_ip:exists_port # 查看当前集群的槽分配及键值数信息 $ /data/redis/base/4.0.14/src/redis-trib.rb info exists_ip:exists_port # Redis 监控信息,通过INFO ALL命令输出以下信息: 内存 used_memory Redis 数据占用内存大小 used_memory_rss Redis 实际占用内存大小 used_memory_peak Redis最大内存占用 mem_fragmentation_ratio 碎片率 RDB持久化 rdb_last_bgsave_status RDB最近一次持久化是否成功 rdb_last_bgsave_time_sec RDB最近一次成功持久化耗费的秒数 rdb_changes_since_last_save RDB最近一次持久化写入命令个数 rdb_last_save_time 离最近一次RDB成功持久化的秒数 AOF持久化 aof_enabled 是否开启aof aof_current_size aof文件当前大小 aof_base_size aof文件上一次重写后的大小 aof_pending_rewrite aof 重写时被阻塞的次数 网络状态 total_net_input_bytes redis网络入口流量字节数 total_net_output_bytes redis网络出口流量字节数 instantaneous_input_kbps redis网络入口kps instantaneous_output_kbps redis网络出口kps rejected_connections Redis拒绝的连接数 键空间状态 expired_keys 过期淘汰的键的个数 evicted_keys LRU淘汰的键的个数 keyspace_hits 请求键被命中的次数 keyspace_misses 请求键未被命中的次数 复制状态 role 复制角色 connected_slaves 主库连接的从库的个数 repl_backlog_size 复制积压缓冲区的大小 repl_backlog_active 是否开启复制积压缓冲区 master_repl_offset 主库复制偏移量 slave_repl_offset 从库复制偏移量 各类命令执行状态 cmdstat_lpush lpush命令执行次数,消耗总时间,平均时间 cmdstat_lpop lpop命令执行次数,消耗总时间,平均时间 cmdstat_lrange lrange命令执行次数,消耗总时间,平均时间 cmdstat_sadd sadd命令执行次数,消耗总时间,平均时间 cmdstat_srem srem命令执行次数,消耗总时间,平均时间 cmdstat_spop spop命令执行次数,消耗总时间,平均时间 获取redis备份目录,找到对应的rdb文件redis> CONFIG GET dir