首页 > 数据库 >【Azure Redis 缓存】Azure Redis服务开启了SSL(6380端口), PHP如何访问缓存呢?

【Azure Redis 缓存】Azure Redis服务开启了SSL(6380端口), PHP如何访问缓存呢?

时间:2023-01-18 20:44:14浏览次数:56  
标签:缓存 Redis redis 6380 Azure php connect

问题描述

使用6379端口连接Azure Redis服务,连接失败。因为默认情况下Azure Redis的设置没有打开6379的端口。需要使用SSL(6380端口)进行连接,但是遇见了无法连接的问题。

使用非SSL(6379端口)的连接代码

<?php
echo "Azure Redis Connect Test";
echo  "<br/>";

//连接本地的 Redis 服务
$redis = new Redis();
$redis->connect('xxxxxxxx.redis.cache.chinacloudapi.cn', 6379);
$redis->auth("秘钥");

echo "Connection to server sucessfully";
echo "<br/>";

//设置 redis 字符串数据
$redis->set("test-name", "Redis test value");
// 获取存储的数据并输出
echo "Stored string in redis:: " . $redis->get("test-name");
?>

如果直接修改端口号 6379 为 6380, 报错无法访问。那么使用6380的正确方式为?

 

问题解答

其实,代码的改动方式非常小。在 connection 方法中添加 TLS及6380端口。

改动前:$redis->connect('xxxxxxxx.redis.cache.chinacloudapi.cn', 6379);

改动后:$redis->connect('tls://xxxxxxxx.redis.cache.chinacloudapi.cn', 6380);

但是一定要注意php redis 扩展,因为扩展版本过低,有可能会引发解析问题。如类似如下的错误消息:

Azure Redis Connect Test<br/>PHP Warning:  
Redis::connect(): php_network_getaddresses: getaddrinfo failed: Name or service not known in /data/myweb/redis_tes t2.php on line 6 PHP Fatal error: Uncaught RedisException: php_network_getaddresses: getaddrinfo failed: Name or service not known in /data/myweb/redis_test2.php:6 Stack trace: #0 /data/myweb/redis_test2.php(6): Redis->connect('tls://xxxx-xxxx...', 6380) #1 {main} thrown in /data/myweb/redis_test2.php on line 6

php redis 扩展的版本:

 

 

使用TLS 6380 端口连接Redis的示例代码为:

<?php
echo "Azure Redis Connect Test";
echo  "<br/>";

//连接本地的 Redis 服务
$redis = new Redis();
//$redis->connect('xxxxxxxx.redis.cache.chinacloudapi.cn', 6379);
$redis->connect('tls://xxxxxxxx.redis.cache.chinacloudapi.cn', 6380);
$redis->auth("秘钥");

echo "Connection to server sucessfully";
echo "<br/>";

//设置 redis 字符串数据
$redis->set("test-name", "Redis test value");
// 获取存储的数据并输出
echo "Stored string in redis:: " . $redis->get("test-name");
?>

 

 

参考资料

php redis example : https://github.com/phpredis/phpredis#example-2

php redis extension : https://pecl.php.net/package/redis

 

标签:缓存,Redis,redis,6380,Azure,php,connect
From: https://www.cnblogs.com/lulight/p/17060533.html

相关文章

  • MeterSphere服务集成之对接 Azure Devops
    1.对接AzureDevops配置1.1配置AzureDevops 配置信息中 PersonalAccessTokens和 Azure组织ID来自AzureDevops平台如下位置。问题类型和需求类型来自 Azure......
  • 浏览器彻底清缓存
    以google浏览器为例。1.清除浏览器缓存执行图中步骤或使用快捷键ctrl+shift+delete将【基本】和【高级】的时间范围修改为时间不限,点击【清除数据】即可2.清除缓......
  • Azure ARM (27) 自定义Role,只能创建MySQL Flexible Server资源
    《WindowsAzurePlatform系列文章目录》 用户这里有个新的需求,自定义Role,只能创建MySQLFlexibleServer资源和PrivateDNSZone,不能创建资源资源。可以......
  • redis:value的的五种数据类型【reggie_take_out】
    有序集合经典应用:排行榜......
  • Redis学习之旅(1)
    1、学习路线​从这章开始,我们开始系统的学习redis,说白了,就是希望花很少的时间掌握更丰富的知识和经验,解决更多的问题,这就要我们能够抓住主线,在自己的脑海中绘制一幅......
  • Redis
    RedisTemplatetimeunit时间单位......
  • Redis学习之旅(1)
    1、学习路线从这章开始,我们开始系统的学习redis,说白了,就是希望花很少的时间掌握更丰富的知识和经验,解决更多的问题,这就要我们能够抓住主线,在自己的脑海中绘制一幅Redis全......
  • Redis学习
    Redis使用场景最新N个数据通过List实现按自然时间排序的数据排行榜,TopN利用zset(有序集合)时效性的数据,比......
  • 搭建redis主从复制
    我这里选择一台虚拟机启动三个redis服务,在/usr/myredis下创建三份配置文件每份的配置只有端口不一样redis.conf是从redis的安装目录复制过来的启动服务[root@localho......
  • Redis和MySQL如何保持数据一致性?强一致性,弱一致性,最终一致性
    强一致性,任何一次读都能读到某个数据的最近一次写的数据。系统中的所有进程,看到的操作顺序,都和全局时钟下的顺序一致。弱一致性,据更新后,如果能容忍后续的访问只能访问......