redis操作手册

Redis操作手册

1. 通用

1.1 进程检查

ps -ef|grep redis

1.2 如何连接

redis-cli -h <xx.xx.xx.xx> -p <6389> -a <passwd>

1.3 连接数检查

总连接数

config get maxclients

当前连接数

info clients
output:

10.200.161.98:6389> info clients
#Clients
<mark>connected_clients:1</mark>
client_longest_output_list:0
client_biggest_input_buf:0
blocked_clients:0

当前连接详情

client list
output:

10.200.161.98:6389> client list
id=5 addr=10.200.161.99:35682 fd=23 name= age=359955 <mark>idle=0</mark> flags=S db=0 sub=0 psub=0 multi=-1 qbuf=0 qbuf-free=0 obl=0 oll=0 omem=0 events=r <mark>cmd=replconf</mark>
id=188 addr=10.200.161.98:49684 fd=19 name= age=1670 <mark>idle=0</mark> flags=N db=0 sub=0 psub=0 multi=-1 qbuf=0 qbuf-free=32768 obl=0 oll=0 omem=0 events=r <mark>cmd=client</mark>

1.4 内存检查

info memory
output:

10.200.161.98:6389> info memory
#Memory
used_memory:2468392
used_memory_human:2.35M
used_memory_rss:4087808
<mark>used_memory_rss_human:3.90M</mark>
used_memory_peak:2509136
used_memory_peak_human:2.39M
total_system_memory:16594661376
total_system_memory_human:15.45G
used_memory_lua:37888
used_memory_lua_human:37.00K
<mark>maxmemory:0</mark>
maxmemory_human:0B
maxmemory_policy:noeviction
<mark>mem_fragmentation_ratio:1.66</mark>
mem_allocator:jemalloc-4.0.3

1.5 配置检查

info server
output:

10.200.161.98:6389> info server
#Server
redis_version:3.2.12
redis_git_sha1:00000000
redis_git_dirty:0
redis_build_id:c395fbbb4e05f728
redis_mode:cluster
os:Linux 3.0.101-63-default x86_64
arch_bits:64
multiplexing_api:epoll
gcc_version:4.3.4
process_id:24824
run_id:50053cc92fbbeb94f38cadbf2f3c5faa718dab56
tcp_port:6389
uptime_in_seconds:360273
uptime_in_days:4
hz:10
lru_clock:1538332
executable:/redis/data/redis-server
<mark>config_file:/redis/conf/6389.conf</mark>

1.6 配置修改

config set <xx> #修改配置项
config get <xx> #查看配置项
config rewrite  #将服务器当前配置保存到 redis.conf 文件中

1.7 慢查询

slowlog get <n>
output:

10.200.161.98:6389> slowlog get 10
1) 1) (integer) 1
   2) (integer) 1545041978
   3) (integer) 10936
   4) 1) "info"
      2) "replication"
2) 1) (integer) 0
   2) (integer) 1544776478
   3) (integer) 10400
   4) 1) "INFO"

1.8 键的个数

dbsize
禁止在生产上执行keys *

1.9 启停

redis-server  /redis/conf/redis.conf
shutdown nosave/save 或者 kill -9 

1.10 持久化

AOF

bgrewriteaof

RDB

bgsave

查看上次保存的时间

lastsave

2. redis sentinel

2.1 master状态检查

info sentinel #sentinel节点操作

2.2 slave状态检查

sentinel slaves mymaster

2.3 复制关系

info replication
output:

10.200.161.98:6389> info replication
#Replication
<mark>role:master</mark>
<mark>connected_slaves:1</mark>
slave0:ip=10.200.161.99,port=6390,state=online,offset=500725,lag=0
master_repl_offset:500739
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:2
repl_backlog_histlen:500738

2.4 指定从节点

slaveof <master> <port>
slaveof no one 取消从节点角色

3. redis cluster

3.1 集群状态检查

cluster info
output:

10.200.161.98:6389> cluster info
<mark>cluster_state:ok</mark>
cluster_slots_assigned:16384
<mark>cluster_slots_ok:16384</mark>
cluster_slots_pfail:0
cluster_slots_fail:0
cluster_known_nodes:10
cluster_size:5
cluster_current_epoch:60
cluster_my_epoch:55
cluster_stats_messages_sent:1069513
cluster_stats_messages_received:1061488

cluster nodes
output:

10.200.161.98:6389> cluster nodes
357439392aedc968347cdf83605d79602f02f66f 10.200.161.99:6389 <mark>master</mark> - 0 1545041781751 58 connected <mark>3277-6553</mark>
3a588b48ba2bbfa17b6d9f062d10ddc644139b96 10.200.161.98:6389 <mark>myself,master</mark> - 0 0 55 connected <mark>0-3276</mark>
1a93be3593b15f0dfc0e58bf39a08d34ecb2eb8a 10.200.161.99:6390 slave 3a588b48ba2bbfa17b6d9f062d10ddc644139b96 0 1545041783252 55 connected
78b6a6a6a585cb4294f05f5ef8f3ba2254e53cda 10.200.161.102:6390 <mark>master</mark> - 0 1545041786259 53 connected <mark>13107-16383</mark>
995939c5055b2dfe198950a6f70b7557888bd9c4 10.200.161.100:6390 slave 83fbf91616ab6580f2fbbb1a15abdb869a0724bb 0 1545041785257 59 connected
83fbf91616ab6580f2fbbb1a15abdb869a0724bb 10.200.161.101:6389 <mark>master</mark> - 0 1545041782251 59 connected <mark>9830-13106</mark>
35d5830da7af01a8948e876d50357c16b4aeb288 10.200.161.98:6390 slave 357439392aedc968347cdf83605d79602f02f66f 0 1545041780249 58 connected
2446d535229d968fd0d94f0927512167ff4bd021 10.200.161.100:6389 slave 2a0ddbc5fdb22927b6ace2edeea95d67dbba9861 0 1545041780750 60 connected
c47c2cd16bdce7b12d9b165889ba977119abeb8d 10.200.161.102:6389 slave 78b6a6a6a585cb4294f05f5ef8f3ba2254e53cda 0 1545041779247 53 connected
2a0ddbc5fdb22927b6ace2edeea95d67dbba9861 10.200.161.101:6390 <mark>master</mark> - 0 1545041784254 60 connected <mark>6554-9829</mark>

3.2 节点

cluster meet <ip> <port> :#将 ip 和 port 所指定的节点添加到集群当中,让它成为集群的一份子。
cluster forget <node_id> :#从集群中移除 node_id 指定的节点。
cluster replicate <master_node_id> :#将当前从节点设置为 node_id 指定的master节点的slave节点。只能针对slave节点操作。
cluster failover:#将当前从节点提升为主节点。只能针对slave节点操作。
cluster saveconfig :#将节点的配置文件保存到硬盘里面。

3.3 槽

cluster addslots <slot> [slot ...] :#将一个或多个槽( slot)指派( assign)给当前节点。
cluster delslots <slot> [slot ...] :#移除一个或多个槽对当前节点的指派。
cluster flushslots :#移除指派给当前节点的所有槽,让当前节点变成一个没有指派任何槽的节点。
cluster setslot <slot> node <node_id> :#将槽 slot 指派给 node_id 指定的节点,如果槽已经指派给另一个节点,那么先让另一个节点删除该槽,然后再进行指派。
cluster setslot <slot> migrating <node_id> :#将本节点的槽 slot 迁移到 node_id 指定的节点中。
cluster setslot <slot> importing <node_id> :#从 node_id 指定的节点中导入槽 slot 到本节点。
cluster setslot <slot> stable :#取消对槽 slot 的导入( import)或者迁移( migrate)。

3.4 键

cluster keyslot <key> :#计算键 key 应该被放置在哪个槽上。
cluster countkeysinslot <slot> :#返回槽 slot 目前包含的键值对数量。
cluster getkeysinslot <slot> <count> :#返回 count 个 slot 槽中的键 。

3.5 trib 助手

redis@MINI-DBS-A-01:/home/redis$redis-trib.rb
Usage: redis-trib &lt;command&gt; &lt;options&gt; &lt;arguments ...&gt;

  <mark>create</mark>          host1:port1 ... hostN:portN
                  --replicas &lt;arg&gt;
  check           host:port
  info            host:port
  fix             host:port
                  --timeout &lt;arg&gt;
  <mark>reshard</mark>         host:port
                  --from &lt;arg&gt;
                  --to &lt;arg&gt;
                  --slots &lt;arg&gt;
                  --yes
                  --timeout &lt;arg&gt;
                  --pipeline &lt;arg&gt;
  rebalance       host:port
                  --weight &lt;arg&gt;
                  --auto-weights
                  --use-empty-masters
                  --timeout &lt;arg&gt;
                  --simulate
                  --pipeline &lt;arg&gt;
                  --threshold &lt;arg&gt;
  add-node        new_host:new_port existing_host:existing_port
                  --slave
                  --master-id &lt;arg&gt;
  del-node        host:port node_id
  set-timeout     host:port milliseconds
  call            host:port command arg arg .. arg
  import          host:port
                  --from &lt;arg&gt;
                  --copy
                  --replace
  help            (show this help)

For check, fix, reshard, del-node, set-timeout you can specify the host and port of any working node in the cluster.

4. 常见问题

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,222评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,455评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,720评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,568评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,696评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,879评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,028评论 3 409
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,773评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,220评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,550评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,697评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,360评论 4 332
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,002评论 3 315
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,782评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,010评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,433评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,587评论 2 350