Redis DeskTop Manage是redis的一款可视化管理工具,那么如何连贯到虚拟机(centos7为例)的redis服务器呢?

装置虚拟机redis环境

  • 关上redis官网,点击download,能够看到如下下载教程,能够抉择下载安装包,也能够抉择命令下载,我这里抉择后者

wget http://download.redis.io/releases/redis-6.0.8.tar.gz

  • 解压

tar xzf redis-6.0.8.tar.gz

  • 进入解压后的目录开始装置

cd redis-6.0.8

  • 在装置前须要确认gcc是否装置gcc -v,因为是用c++写的,所以make前须要装置gcc或者降级gcc

yum install gcc-c++

  • 前提是曾经进入到理解压后的redis-6.0.8目录,进行装置,默认装置完的目录是/usr/local/bin

make

装置后进入/usr/local/bin目录查看,这里的config文件夹是我前面手动创立的mkdir config,用来搁置我的redis配置文件

  • 把解压后的redis-6.0.8文件夹内的redis.config文件复制到咱们刚创立的装置后的目录下的config文件夹内

cd /usr/local/bin/cp /home/parallels/redis-6.0.8/redis.conf congig

redis配置文件

## 在redis中,非法的"尺寸单位",无大小写辨别.# 1k => 1000 bytes# 1kb => 1024 bytes# 1m => 1000000 bytes# 1mb => 1024*1024 bytes# 1g => 1000000000 bytes# 1gb => 1024*1024*1024 bytes##将redis是否当前台过程的形式运行,默认为"no"**daemonize** no##如果"daemonize yes",那么将会把过程id信息写入文件中.请留神:启动redis过程的用户须要具备写入此目录的权限.##pidfile ~/redis.pid##指令操作:./redis.server --daemonize yes --pidfile ~/redis.pid##**pidfile** /var/run/redis.pid##指定server须要侦听的客户端连贯端口,client与server在此端口进行TCP通信.**port** 6379##如果你的物理服务器有多个网络接口,请你为将server socket绑定在指定IP上.# **bind** 127.0.0.1# 指定socket连贯闲暇工夫(秒).如果connection闲暇超时,将会敞开连贯(TCP socket选项)##如果为0,示意永不超时.**timeout** 0##指定TCP连贯是否为长连贯,"侦探"信号有server端保护,长连贯将会额定的减少server端的开销(TCP socket选项)##默认为0.示意禁用,非0值示意开启"长连贯";"侦探"信号的发送距离将有linux零碎决定##在屡次"侦探"后,如果对等端(客户端socket)仍不回复,将会敞开连贯,否则连贯将会被放弃开启.##client端socket也能够通过配置keepalive选项,开启"长连贯".(单位:秒)**tcp-keepaliv**e 0##server日志级别,非法值:debug,verbose,notice,warning 默认为notice##debug适宜开发环境,客户端操作信息都会输入日志##verbose输入一些绝对有用的信息,目前成果不明##notice适宜生产环境##warning异样信息**loglevel** notice##指定redis日志文件目录,默认为stdout##logfile ~/redislog.log**logfile** stdout##设定redis所容许的最大"db簇"的个数,默认为16个簇.##客户端能够通过"select"指令指定须要应用的"db簇"索引号,默认为0.##redis的顶层数据结构中,所有K-V都潜在的包含了"db簇"索引号,任何一个key都将隶属于一个"db".##任何对数据的检索,只会笼罩指定的"db";例如数据被插入到"db 10"中,那么在"db 1"中去get,将会返回null.##对数据归类到不同的db簇中,能够帮忙咱们实现一些特定的需要,比方依据不同客户端连贯,来指定不同的db索引号.**databases** 16##snapshot配置,save <seconds> <changes>,用来形容"在多少秒期间至多多少个变更操作"触发snapshot##snapshot最终将生成新的dump.rdb文件##save ""用来禁用snapshot性能##如下示意12小时内至多一个key变更,触发snapshot**save** 43200 1##如果snapshot过程中呈现谬误,即数据长久化失败,是否终止所有的客户端write申请.##这个选项很让人尴尬,"yes"示意终止,一旦snapshot故障,那么此server为只读服务;##如果为"no",那么此次snapshot将失败,但下一次snapshot不会受到影响,不过如果呈现故障,数据只能复原到"最近一个胜利点".**stop-writes-on-bgsave-error** yes##是否启用rdb文件压缩伎俩,默认为yes.##压缩可能须要额定的cpu开销,不过这可能无效的减小rdb文件的大小,有利于存储/备份/传输/数据恢复.**rdbcompression** yes##是否对rdb文件应用CRC64校验和,默认为"yes",那么每个rdb文件内容的开端都会追加CRC校验和.##对于其余第三方校验工具,能够很不便的检测文件的完整性**rdbchecksum** yes##指定rdb文件的名称**dbfilename** dump.rdb##指定rdb/AOF文件的目录地位**dir** ./# 将以后server做为slave,并为其指定master信息.# **slaveof** <masterip> <masterport>##以后server的受权明码##任何客户端或者slave与此server交互前,须要提交明码,其余server的masterauth配置和此参数值保持一致##明码应该足够简单(64字节)# **requirepass** <foobared>## 以认证的形式连贯到master.如果master中应用了"密码保护",slave必须交付正确的受权明码,能力连贯胜利## "requirepas"配置项指定了以后server的明码.## 此配置项中<master-password>值须要和master机器的"requirepas"保持一致。此参数配置在slave端。# **masterauth** <master-password>##如果以后server是slave,那么当slave与master失去通信时,是否持续为客户端提供服务,"yes"示意持续,"no"示意终止.##在"yes"状况下,slave持续向客户端提供只读服务,有可能此时的数据曾经过期.##在"no"状况下,任何向此server发送的数据申请服务(包含客户端和此server的slave)都将被告知"error"**slave-serve-stale-data** yes##slave是否为"只读",强烈建议为"yes"**slave-read-only** yes##slave向指定的master发送ping音讯的工夫距离(秒),默认为10# **repl-ping-slave-period** 10##slave与master通信中,最大闲暇工夫,默认60秒.超时将导致连贯敞开.# **repl-timeout** 60##slave与master的连贯,是否禁用TCP nodelay选项.##"yes"示意禁用,那么socket通信中数据将会以packet形式发送(packet大小受到socket buffer限度),##       能够进步socket通信的效率(tcp交互次数),然而小数据将会被buffer,不会被立刻发送,对于接受者可能存在提早.##"no"示意开启tcp nodelay选项,任何数据都会被立刻发送,及时性较好,然而效率较低##倡议为"no"**repl-disable-tcp-nodelay** no##实用Sentinel模块(unstable,M-S集群治理和监控),须要额定的配置文件反对##slave的权重值,默认100.当master生效后,Sentinel将会从slave列表中找到权重值最低(>0)的slave,并晋升为master##如果权重值为0,示意此slave为"观察者",不参加master选举**slave-priority** 100##重命名指令,对于一些与"server"管制无关的指令,可能不心愿近程客户端(非管理员用户)链接随便应用,##那么就能够把这些指令重命名为"难以浏览"的其余字符串.##例如"slaveof"   "CONFIG"   "BGREWRITEAOF"   "BGREWRITE"   "FLUSHALL"等指令须要被限度拜访##配置项格局: rename-command <command> <newCommand># **rename-command** CONFIG 3ed984507a5dcd722aeade310065ce5d    (形式:MD5('CONFIG^!'))##所容许的客户端连接数,默认为10000.##此值不可能被设置成过大,因为每个socket连贯都会以"文件描述符"的形式被零碎关上,它受到零碎"文件关上个数"的限度##如果超过此值,server将会回绝连贯.# **maxclients** 10000##redis-cache所能应用的最大内存(bytes),默认为0,示意"无限度",最终由OS物理内存大小决定(如果物理内存不足,有可能会应用swap)##如果此值设置过小(比方32字节),将间接导致server无奈应用.##此值尽量不要超过机器的物理内存尺寸,从性能和施行的角度思考,能够为物理内存3/4.##此配置须要和"maxmemory-policy"配合应用,当redis中内存数据达到maxmemory时,触发"革除策略".##如果应用"革除策略"后,仍无奈失去足够的内存来存储新的数据,那么write操作的客户端将会收到"error OOM.."信息,此时server只读.##在"内存不足"时,任何write操作(比方set,lpush等)都会触发"革除策略"的执行.##在理论环境中,倡议redis的所有物理机器的硬件配置保持一致(内存统一),同时确保master/slave中"maxmemory""policy"配置统一# **maxmemory** <bytes>##"内存不足"时,数据革除策略,默认为"volatile-lru"## _volatile-lru_    ->对"过期汇合"中的数据采取LRU(近期起码应用)算法.如果对key应用"expire"指令指定了过期工夫,那么此key将会被增加到"过期汇合"中.##每个Redis对象,都保留一个“最初拜访工夫”的属性,能够用来判断此对象闲暇的工夫,那么LRU算法就能够依据此属性来进行判断。## 将曾经过期/LRU的数据优先移除.如果"过期汇合"中全副移除仍不能满足内存需要,将OOM.## _allkeys-lru_ ->对所有的数据,采纳LRU算法## _volatile-random_ ->对"过期汇合"中的数据采取"随即选取"算法,并移除选中的K-V,直到"内存足够"为止.## 如果如果"过期汇合"中全副移除全副移除仍不能满足,将OOM## _allkeys-random_ ->对所有的数据,采取"随即选取"算法,并移除选中的K-V,直到"内存足够"为止.## _volatile-ttl_ ->对"过期汇合"中的数据采取TTL算法(最小存活工夫),移除行将过期的数据.## _noeviction_ ->不做任何烦扰操作,间接返回OOM异样.#####如果数据的过期不会对"利用零碎"带来异样,且零碎中write操作比拟密集,倡议采取"_**allkeys-lru**_"# **maxmemory-policy** volatile-lru##是否开启aof性能,"yes"示意开启,在开启状况下,aof文件同步性能才失效,默认为"no"##对master机器,倡议应用AOF,对于slave,倡议敞开(采纳snapshot),**appendonly** no##aof中文件同步机制## _always_ ->任何一个aof记录都立刻进行文件同步(磁盘写入),安全性最高;如果write申请比拟密集,将会造成较高的磁盘IO开销和响应提早## _everysec_ ->每秒同步一次,性能和安全性都较高的策略,也是默认值## _no_ ->不间接同步,让文件同步交给OS管制,OS将会依据文件流通道中buffer状况/闲暇状况进行择机写入磁盘.安全性和效率与OS设定无关.**appendfsync** everysec##在aof rewrite期间,是否对aof新记录的append暂缓应用文件同步策略,次要思考磁盘IO开销和申请阻塞工夫.##默认为no,示意"不暂缓",新的aof记录依然会被立刻同步##**no-appendfsync-on-rewrite** no##aof rewrite触发机会,最小文件尺寸**auto-aof-rewrite-min-size** 64mb##aof每次rewrite之后,都会记住以后aof文件的大小,当文件增长到肯定比例后,持续进行aof rewrite**auto-aof-rewrite-percentage** 100##aof rewrite过程中,是否采取增量"文件同步"策略,默认为"yes",而且必须为yes.##rewrite过程中,每32M数据进行一次文件同步,这样能够缩小"aof大文件"写入对磁盘的操作次数.**aof-rewrite-incremental-fsync** yes##lua脚本运行的最大工夫**lua-time-limit** 5000##"慢操作日志"记录,单位:微秒(百万分之一秒,1000 * 1000),如果操作工夫超过此值,将会把command信息"记录"起来.(内存,非文件)##其中"操作工夫"不包含网络IO开销,只包含申请达到server后进行"内存施行"的工夫."0"示意记录全副操作.**slowlog-log-slower-than** 10000##"慢操作日志"保留的最大条数,"记录"将会被队列化,如果超过了此长度,旧记录将会被移除.##能够通过"SLOWLOG <subcommand> args"查看慢记录的信息(SLOWLOG get 10,SLOWLOG reset)##通过"SLOWLOG get num"指令能够查看最近num条慢速记录,其中包含"记录"操作的工夫/指令/K-V等信息**slowlog-max-len** 128##通过"TYPE key"指令查看key的数据类型##通过"OBJECT encoding key"查看key的编码类型##hash类型的数据结构在编码上能够应用ziplist和hashtable##ziplist的特点就是文件存储(以及内存存储)所需的空间较小,在内容较小时,性能和hashtable简直一样.因而redis对hash类型默认采取ziplist.##如果hash中条目标条目个数或者value长度达到阀值,将会被重构为hashtable.##ziplist中容许存储的最大条目个数,倡议为128**hash-max-ziplist-entries** 512##ziplist中容许条目value值最大字节数,倡议为1024**hash-max-ziplist-value** 64##对于list类型,将会采取ziplist,linkedlist两种编码类型.##同hash.**list-max-ziplist-entries** 512**list-max-ziplist-value** 64##zset为有序汇合,有2中编码类型:ziplist,skiplist##因为"排序"将会耗费额定的性能,当zset中数据较多时,将会被重构为skiplist.##同hash.**zset-max-ziplist-entries** 128**zset-max-ziplist-value** 64##intset中容许保留的最大条目个数,如果达到阀值,intset将会被重构为hashtable**set-max-intset-entries** 512##是否开启顶层数据结构的rehash性能,如果内存容许,请开启.##rehash可能很大水平上进步K-V存取的效率.**activerehashing** yes##客户端buffer管制##在客户端与server进行的交互中,每个连贯都会与一个buffer关联,此buffer用来队列化亟待被client承受的响应信息.##如果client不能及时的生产响应信息,那么buffer将会被一直积压而给server带来内存压力.如果buffer中积压的数据达到阀值,将会##导致连贯被敞开,buffer被移除."##buffer管制类型包含:## _normal_ -> 一般连贯## _slave_ ->与slave之间的连贯## _pubsub_ ->pub/sub类型连贯,此类型的连贯,往往会产生此种问题;因为pub端会密集的公布音讯,然而sub端可能生产有余.##指令格局:client-output-buffer-limit <class> <hard> <soft> <seconds>",其中hard示意buffer最大值,一旦达到阀值将立刻敞开连贯;##soft示意"容忍值",它和seconds配合,如果buffer值超过soft且持续时间达到了seconds,也将立刻敞开连贯,如果超过了soft然而在seconds之后##buffer数据小于了soft,连贯将会被保留.# 其中hard和soft都设置为0,则示意禁用buffer管制.通常hard值大于soft.**client-output-buffer-limit** normal 0 0 0**client-output-buffer-limit** slave 256mb 64mb 60**client-output-buffer-limit** pubsub 32mb 8mb 60##Redis server执行后台任务的频率,默认为10,此值越大示意redis对"间歇性task"的执行次数越频繁(次数/秒)##"间歇性task"包含"过期汇合"检测、敞开"闲暇超时"的连贯等,此值必须大于0且小于500.(参见redis.h源码)##此值过小就意味着更多的cpu周期耗费,后盾task被轮询的次数更频繁##此值过大意味着"内存敏感"性较差.##倡议放弃默认值**hz** 10##include指令用来载入额定的配置文件模板,也能够在redis server启动时,手动指定须要include的配置文件.# **include** /path/to/local.conf# include /path/to/other.conf

启动redis

  • 进入装置后的redis目录,应用脚本运行

cd /usr/local/bin

  • 启动

我这里在配置文件中配置过了明码,所以须要auth 明码认证

redis desktop连贯

  • 批改配置文件

1)批改protected-mode yes 改为:protected-mode no
2)正文掉#bin 127.0.0.1
3)将 daemonize no 改成 yes
4)设置明码 requirepass 123456

  • 查看虚拟机防火墙配置,须要凋谢端口,能力拜访到这台服务器

能够查看我的上一篇博客

  • 查看虚拟机IP地址ifconfig

  • 尝试连贯

  • 点击确定,连贯胜利