Linux里面redis理怎么指定host?

Linux里面redis理怎么指定host?,第1张

在 Linux 系统中,可以通过在 redis-cli 命令后指定 -h 参数来指定 Redis 服务器的主机名或 IP 地址。具体而言,可以使用以下命令连接 Redis 服务器:
redis-cli -h <host> -p <port>
其中,<host> 是 Redis 服务器的主机名或 IP 地址,<port> 是 Redis 服务器的端口号。例如,如果 Redis 服务器运行在主机名为 redisexamplecom 的服务器上,端口号为 6379,则可以使用以下命令连接到 Redis 服务器:
redis-cli -h redisexamplecom -p 6379
如果 Redis 服务器运行在本地主机上,则可以省略 -h 参数,使用以下命令连接到 Redis 服务器:
redis-cli -p 6379
在上面的命令中,redis-cli 是 Redis 命令行客户端程序的名称,-p 参数指定 Redis 服务器的端口号。连接成功后,就可以在命令行中输入 Redis 命令,与 Redis 服务器进行交互了。

对于任何一门技术,如果你只停留在「会用」的阶段,那就很难有所成就,甚至还有被裁员和找不到工作的风险,我相信能看此篇文章的你,一定是积极上进想有所作为的人,那么借此机会,我们来深入的解一下 Redis 的执行细节。

一条命令的执行过程有很多细节,但大体可分为:客户端先将用户输入的命令,转化为 Redis 相关的通讯协议,再用 socket 连接的方式将内容发送给服务器端,服务器端在接收到相关内容之后,先将内容转化为具体的执行命令,再判断用户授权信息和其他相关信息,当验证通过之后会执行最终命令,命令执行完之后,会进行相关的信息记录和数据统计,然后再把执行结果发送给客户端,这样一条命令的执行流程就结束了。如果是集群模式的话,主节点还会将命令同步至子节点,下面我们一起来看更加具体的执行流程。

步骤二:客户端先将命令转换成 Redis 协议,然后再通过 socket 连接发送给服务器端

客户端和服务器端是基于 socket 通信的,服务器端在初始化时会创建了一个 socket 监听,用于监测链接客户端的 socket 链接,源码如下:

当 socket 成功连接之后,客户端会先把命令转换成 Redis 通讯协议(RESP 协议,REdis Serialization Protocol)发送给服务器端,这个通信协议是为了保障服务器能最快速的理解命令的含义而制定的,如果没有这个通讯协议,那么 Redis 服务器端要遍历所有的空格以确认此条命令的含义,这样会加大服务器的运算量,而直接发送通讯协议,相当于把服务器端的解析工作交给了每一个客户端,这样会很大程度的提高 Redis 的运行速度。例如,当我们输入 set key val 命令时,客户端会把这个命令转换为 3\r\n$3\r\nSET\r\n$4\r\nKEY\r\n$4\r\nVAL\r\n 协议发送给服务器端。 更多通讯协议,可访问官方文档: >

1、如果是用apt-get或者yum install安装的redis,可以直接通过下面的命令停止/启动/重启redis:/etc/initd/redis-server stop/etc/initd/redis-server start/etc/initd/redis-server restart

2、如果是通过源码安装的redis,则可以通过redis的客户端程序redis-cli的shutdown命令来重启redis。

redis集群如何解决重启不了的问题

redis使用集群部署,如果遇到断电或者服务器重启,当再次启动的时候,有时候会启动不了。需要使用trib的fix命令进行修复。如果修复还是不行的话,可以清除节点数据再重新建集群,前提要备份之后 *** 作。

1、使用redis-cli连接上redis其中一台:redis-cli -c -h xxx -p 7001,输入cluster info查看当前集群的状态。

2、可以使用trib的check检测的集群状态:redis-tribrb check xxx:7001,[ERR] Not all 16384 slots are covered by nodes。

3、如果出现以上的错误,可以尝试使用fix命令修复:redis-tribrb fix xxx:7001。修复完成之后,在使用trib的check命令查看状态。

4、如果通过fix方式修复不了,pkill redis停止之前的redis进程,然后把aof,rdb,nodes节点文件删除,删除之前需要备份。

5、然后启动各个redis节点。

6、创建redis集群:redis-tribrb create --replicas 1 xxx:7000 xxx:7001 xxx:7002 xxx:7003 xxx:7004 xxx:7005。

7、集群创建完成之后,再次连接redis查看集群状态,redis服务已经启动完成。

1、执行如图是命令,查看redis服务是否启动。

2、执行命令“redis-cli”进入redis命令行界面。

3、执行命令“dbsize”。

4、执行命令“flushall”刷新清除。

5、执行命令“ keys  ”进行验证redis是否为空,可以看到redi数据。

注释掉 bind 127001 这一行(在前面添加一个 # 就是注释)。

重启 redis 服务。

注意: redis 的配置文件位置不是100%一样,有可能你的服务器的 redisconfig 文件和我的位置不一样,请注意甄别。

如果还不行,检查防火墙设置,看看是否有禁止 6379 端口或者限制远程 ip 访问。 如果是购买的云服务器 ,检查 安全组 是否放行 6379 端口(例如:如果你购买的是阿里云的服务器,则登录阿里云的控制台,查看redis所在服务器的安全组设置)。

将命令中的 88888888 改成你的 ip 地址,将 6379 改成你的 redis 的端口(默认端口就是 6379 ),将 password 改成你的 redis 授权密码。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/zz/10344218.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-07
下一篇2023-05-07

发表评论

登录后才能评论

评论列表(0条)

    保存