redis 服务器端命令
db0,db1,db2是数据库,外层是服务器,服务器下面有20个数据库。
6379:0>time
1) "1515832769" //多少秒
2) "160000" //多少微妙
redis 127.0.0.1:6380> dbsize // 当前数据库的key的数量
(integer) 2
redis 127.0.0.1:6380> select 2
OK
redis 127.0.0.1:6380[2]> dbsize
(integer) 0
BGREWRITEAOF 后台进程重写AOF
BGSAVE 手动后台保存rdb快照
SAVE 保存rdb快照
LASTSAVE 上次保存时间
Slaveof master-Host port , 把当前实例设为master的slave
Flushall 清空所有库所有键
Flushdb 清空当前库所有键
Showdown [save/nosave]
注: 如果不小心运行了flushall, 立即 shutdown nosave ,关闭服务器
防止别人重写aof(因为此时数据库是空的,重写aof后aof也就空了,那么就不能够通过aof来恢复了)。然后 手工编辑aof文件, 去掉文件中的 “flushall “相关行:
*1
$8 //Flushall是8个长度
Flushall
然后开启服务器,就可以导入回原来数据.
如果,flushall之后,系统恰好bgrewriteaof重写了aof文件了,那么aof就清空了,数据就真的丢失.(还有rdb可以恢复出来)。
配置信息可以写在conf文件里面,但是也可以运行时动态设置:
Config get 配置项
Config set 配置项 值 (特殊的选项,不允许用此命令设置,如slave-of, 需要用单独的slaveof命令来设置)
6379:0>config get requirepass
1) "requirepass"
2) ""
Slowlog 显示慢查询,注:多慢才叫慢?
答: 由slowlog-log-slower-than 10000 ,来指定,(单位是微秒)
服务器储存多少条慢查询的记录?
答: 由 slowlog-max-len 128 ,来做限制指定。
慢日志
6379:0>config get slowlog-log-slower-than
1) "slowlog-log-slower-than"
2) "10000" //大于10000微妙就记下来
6379:0>config set slowlog-log-slower-than 100 ////大于100微妙就记下来
"OK"
6379:0>CONFIG get slowlog-max-len
1) "slowlog-max-len"
2) "128" //最多存128条慢日志
6379:0>slowlog get //slowlog get N 获取慢日志,返回查询时间大于100微妙的命令
1) 1) "2"
2) "1515834219"
3) "22000"
4) 1) "config"
2) "get"
3) "requirepass"
2) 1) "1"
2) "1515833612"
3) "15000"
4) 1) "PSYNC"
2) "?"
3) "-1"
Redis运维时需要注意的参数:Info [Replication/CPU/Memory..] :查看redis服务器的信息
1: 内存
# Memory
used_memory:859192 数据结构的空间,859K
used_memory_rss:7634944 实占空间
mem_fragmentation_ratio:8.89 前2者的比例,1点几最好,如果此值过大,说明redis的内存的碎片化严重,可以导出再导入一次.
2: 主从复制信息
# Replication
role:slave
master_host:192.168.1.128
master_port:6379
master_link_status:up
3:持久化
# Persistence
rdb_changes_since_last_save:0
rdb_last_save_time:1375224063
4: fork耗时
#Status
latest_fork_usec:936 上次导出rdb快照,持久化花费微秒
注意: 如果某实例有10G内容,导出需要2分钟,
每分钟写入10000次,导致不断的rdb导出,磁盘始处于高IO状态.