Redis - php通过ssh方式连接到redis服务器

1.应用场景

主要用于使用php通过ssh方式连接到redis服务器,进行一些操作. 

2.学习/操作

1.文档阅读

chatgpt

& 其他资料

SSH - 学习与实践探究_ssh应用场景

2.整理输出

2.1 是什么

TBD

2.2 为什么需要「应用场景」

TBD

2.3 什么时候出现「历史发展」

TBD

2.4 怎么实践

TBD

php 通过ssh方式连接到redis服务器

要通过 SSH 方式连接到 Redis 服务器,可以使用 PHP 的 ssh2 扩展和 Redis 扩展。

首先,需要安装 ssh2 扩展和 Redis 扩展。可以使用以下命令安装:

sudo apt-get install libssh2-1-dev
sudo pecl install ssh2 redis

安装完成后,在 PHP 中加载这两个扩展:

extension=ssh2.so
extension=redis.so

然后,可以使用以下 PHP 代码连接到 Redis 服务器:

<?php
// SSH 连接参数
$ssh_host = 'ssh_host';
$ssh_port = 22;
$ssh_user = 'ssh_user';
$ssh_pass = 'ssh_pass';// Redis 连接参数
$redis_host = '127.0.0.1';
$redis_port = 6379;
$redis_auth = 'redis_auth';// SSH 连接
$ssh = ssh2_connect($ssh_host, $ssh_port);
ssh2_auth_password($ssh, $ssh_user, $ssh_pass);// Redis 连接
$redis_sock = ssh2_tunnel($ssh, $redis_host, $redis_port);
$redis = new Redis();
$redis->connect('127.0.0.1', $redis_port);
$redis->auth($redis_auth);// 使用 Redis
$redis->set('foo', 'bar');
echo $redis->get('foo');// 关闭 Redis 连接
$redis->close();// 关闭 SSH 连接
ssh2_exec($ssh, 'echo "done"');
ssh2_exec($ssh, 'exit');
?>

以上代码中,首先通过 SSH 连接到 Redis 服务器,然后使用 Redis 扩展连接到 Redis 服务器。可以像使用本地 Redis 一样使用 $redis 对象来进行 Redis 操作。

需要注意的是,SSH 连接和 Redis 连接都需要进行关闭,可以使用 ssh2_exec() 和 $redis->close() 方法来关闭连接。

php 通过ssh 证书方式连接到redis服务器

要通过 SSH 证书方式连接到 Redis 服务器,可以使用 PHP 的 ssh2 扩展和 Redis 扩展。

首先,需要使用 ssh-keygen 命令生成 SSH 密钥对。可以使用以下命令生成密钥对:

ssh-keygen -t rsa -b 2048 -f mykey

其中,-t 参数指定密钥类型为 RSA,-b 参数指定密钥长度为 2048 位,-f 参数指定密钥文件名为 mykey

生成密钥对后,需要将公钥添加到 Redis 服务器的 authorized_keys 文件中,以允许通过 SSH 证书方式连接。可以使用以下命令将公钥添加到 authorized_keys 文件中:

cat mykey.pub | ssh user@server "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"

其中,mykey.pub 是公钥的文件名,user@server 是 Redis 服务器的用户名和 IP 地址。

然后,在 PHP 中使用以下代码连接到 Redis 服务器:

<?php
// SSH 连接参数
$ssh_host = 'ssh_host';
$ssh_port = 22;
$ssh_user = 'ssh_user';
$ssh_key = 'mykey';// Redis 连接参数
$redis_host = '127.0.0.1';
$redis_port = 6379;
$redis_auth = 'redis_auth';// SSH 连接
$key = new \ssh2\RSA();
$key->load(file_get_contents($ssh_key));
$ssh = ssh2_connect($ssh_host, $ssh_port);
ssh2_auth_pubkey_file($ssh, $ssh_user, $ssh_key . '.pub', $key);// Redis 连接
$redis_sock = ssh2_tunnel($ssh, $redis_host, $redis_port);
$redis = new Redis();
$redis->connect('127.0.0.1', $redis_port);
$redis->auth($redis_auth);// 使用 Redis
$redis->set('foo', 'bar');
echo $redis->get('foo');// 关闭 Redis 连接
$redis->close();// 关闭 SSH 连接
ssh2_exec($ssh, 'echo "done"');
ssh2_exec($ssh, 'exit');
?>

以上代码中,首先加载私钥文件,并通过 SSH 连接到 Redis 服务器。然后使用 Redis 扩展连接到 Redis 服务器。可以像使用本地 Redis 一样使用 $redis 对象来进行 Redis 操作。

需要注意的是,SSH 连接和 Redis 连接都需要进行关闭,可以使用 ssh2_exec() 和 $redis->close() 方法来关闭连接。

后续补充

...

3.问题/补充

1. 通过ssh方式连接到redis服务器

服务器自身上的redis server

另外独立的服务器的redis server


后续补充

...

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/132946.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

HTTP协议是什么

HTTP (全称为 “超文本传输协议”) 是一种应用非常广泛的 应用层协议&#xff0c;是一种网络通信协议。 超文本&#xff1a;所谓 “超文本” 的含义, 就是传输的内容不仅仅是文本(比如 html, css 这个就是文本), 还可以是一些其他的资源, 比如图片, 视频, 音频等二进制的数据。…

基于全景运动感知的飞行视觉脑关节神经网络全方位碰撞检测

https:/doi.org/10.1155/2023/5784720 摘要&#xff1a; 生物系统有大量的视觉运动检测神经元&#xff0c;其中一些神经元可以优先对特定的视觉区域做出反应。然而&#xff0c;关于如何使用它们来开发用于全向碰撞检测的神经网络模型&#xff0c;很少有人做过工作。为此&#…

Unity可视化Shader工具ASE介绍——5、ASE快捷键和常用节点介绍

大家好&#xff0c;我是阿赵。   继续介绍Unity可视化Shader插件ASE。这次来说一些常用节点的快捷键&#xff0c;顺便介绍一些常用的节点。   用过UE引擎的朋友可能会发现&#xff0c;ASE的整体用法和UE的材质节点编辑器非常的像&#xff0c;甚至连很多节点的快捷键都和UE的…

Apache Solr9.3 快速上手

Apache Solr 简介 Solr是Apache的顶级开源项目&#xff0c;使用java开发 &#xff0c;基于Lucene的全文检索服务器。 Solr比Lucene提供了更多的查询语句&#xff0c;而且它可扩展、可配置&#xff0c;同时它对Lucene的性能进行了优化。 安装 下载 : 下载地址解压 : tar -zxv…

一文理清JVM结构

JVM结构介绍 JVM一共分为三个组成部分: 1 类加载子系统 主要是将class文件加载到内存中的一个系统&#xff0c;其核心组件是类加载器 2 运行时数据区子系统 1 JVM私有部分 1 虚拟机栈 描述的是Java方法执行的内存模型&#xff1a;每个方法在执行的同时都会创建一个栈帧&…

cap分布式理论

cap 理论 cap是实现分布式系统的思想。 由3个元素组成。 Consistency&#xff08;一致性&#xff09; 在任何对等 server 上读取的数据都是最新版&#xff0c;不会读取出旧数据。比如 zookeeper 集群&#xff0c;从任何一台节点读取出来的数据是一致的。 Availability&…

Java架构师系统架构设计资源估算

目录 1 认识资源估算1.1 预估未来发展1.2 资源估算的意义 2 资源估算方法2.1 确定系统目标2.2 并发用户数2.3 指标数据 3 资源估算的经验法则4 资源估算的常见参考数据4.1 带宽估算4.2 nginx估算4.3 tomcat估算4.4 操作系统估算4.5 redis估算4.6 mysql估算 5 并发人数估算5.1 请…

电商(淘宝京东1688)API接口和ERP选品之间存在一定的关系

API接口是一种用于在应用程序之间进行数据交互和通信的标准化协议&#xff0c;而ERP&#xff08;企业资源计划&#xff09;系统是一种综合性的管理软件&#xff0c;可以帮助企业进行采购、销售、库存等业务流程的自动化管理。 在ERP选品方面&#xff0c;API接口可以用于从外部…

【广州华锐互动】钢厂铸锻部VR沉浸式实训系统

随着科技的不断进步&#xff0c;虚拟现实(VR)技术已成为当今最具潜力的技术之一。在钢铁行业中&#xff0c;VR虚拟仿真实训已经被广泛应用于培训和教育领域&#xff0c;特别是钢铁厂铸锻部&#xff0c;通过VR技术&#xff0c;可以大大提高培训效率&#xff0c;降低培训成本&…

在服务器上解压.7z文件

1. 更新apt sudo apt-get update2. 安装p7zip sudo apt-get install p7zip-full3. 解压.7z文件 7za x WN18RR.7z

STM32入门笔记14_RTC实时时钟

BKP和RTC实时时钟 BKP BKP简介 BKP(Backup Registers) 备份寄存器BKP可用于存储用户应用程序数据。当VDD(2.0-3.6V) 电源被切断时&#xff0c;仍然由VBAT(1.8-3.6V) 维持供电。当系统在待机模式下被唤醒&#xff0c;或系统复位或电源复位时&#xff0c;也不会被复位TAMPER引…

利达卓越:关注环保事业,持续赋能科技

随着全球环境问题的日益突出,绿色金融作为一种新兴的金融模式逐渐受到各国的重视。绿色金融是指在金融活动中,通过资金、信贷和风险管理等手段,支持环境友好和可持续发展的项目和产业。绿色金融的出现是为了应对气候变化、资源短缺、污染问题等现实挑战,促进经济的绿色转型和可…