phpRedis 迁移到集群和一致性哈希

2024-01-10

我们目前正在使用PhpRedis扩展,我们的代码是使用该类编写的Redis来自PhpRedis。但现在我们正在迁移到redis集群。

是否可以使用Redis类连接redis集群?或者我们是否需要重新编写代码并使用 RedisArray 类?

我们还需要一致的散列。我们添加了这样的键{user}:1这样我们就可以稍后进行一致性哈希。

主要问题是使用该类编写的所有代码Redis并将其更改为RedisArray.

我是redis新手,所以请提供一些建议

Thanks


这是 PHPredis Nicolas 的作者之一的电子邮件回复。我感谢他花时间回复我。

Hi,

我只想首先澄清一下,RedisArray 类不提供客户端库Redis集群 http://redis.io/topics/cluster-tutorial。它使用一致性哈希将数据分发到一组独立的Redis节点,并提供通用接口,使开发人员可以避免自己编写分发层。

Phpredis 目前不支持 Redis 集群。

解决您的问题:

  • 使用RedisArray可以连接4个redis服务器。
  • RedisArray提供一致性哈希,您可以选择哪一部分 密钥将用于分发。
  • RedisArray 类有几个局限性 https://github.com/nicolasff/phpredis/blob/master/arrays.markdown#limitations。特别是多键 命令(例如 ZINTERSTORE)大多在一个节点上执行,但也有一些 确实提供集成分发(例如 DEL、MGET)。

要了解有关 RedisArray 类的更多信息,请参阅GitHub 上的文档 https://github.com/nicolasff/phpredis/blob/master/arrays.markdown.

他们现在增加了对 Redis 集群的支持 https://github.com/phpredis/phpredis/blob/feature/redis_cluster/cluster.markdown#readme https://github.com/phpredis/phpredis/blob/feature/redis_cluster/cluster.markdown#readme

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

phpRedis 迁移到集群和一致性哈希 的相关文章

  • 由商店经理根据指定的分类术语过滤 WooCommerce 订单

    我想将带有特定产品标签的订单分配给后端的特定商店经理 并隐藏其余订单 我目前正在使用WooCommerce 订单拆分器 https wordpress org plugins woo order splitter免费插件可按项目 产品 将订
  • 错误:SQLSTATE[HY000] [2002] 无法建立连接,因为目标计算机主动拒绝连接

    当我调试代码时突然发生错误 它有一系列关于数据库连接的错误 ERROR SQLSTATE HY000 2002 No connection could be made because the target machine actively
  • 如何在Redis中正确存储图片?

    决定将图像存储在Redis中 如何正确执行 现在我这样做 redis gt set image path here is the base64 image code 我不确定这是否正常 将图片存储在Redis中是完全可以的 Redis 键和
  • 如何检查文件是否为php?

    我想检查文件是否具有扩展名 php 如果有的话我会把它包括在内 有人可以帮我进行正则表达式检查吗 thanks 通常您不使用正则表达式 以下是一种流行的方法 extension pathinfo filename PATHINFO EXTE
  • Jpgraph:如何在php中设置组条形柱形图的标签

    这是我的 jpgraph 演示代码
  • 检测图像是否损坏或损坏

    我需要以编程方式检查用户在我的应用程序上选择作为壁纸的图像是否已损坏或损坏 基本上我为用户提供了选择自己的图像作为壁纸的选项 现在 当图像加载时 我只想检查它是否已损坏 如果您正在寻找 PHP 解决方案而不是 javascript 解决方案
  • 如何在此查询中获取以 KM 为单位的距离

    salons Salon select salons gt selectRaw 6371 acos cos radians cos radians lat cos radians lng radians sin radians sin ra
  • 检测 .htaccess 中对 php_value / php_flag 的支持以抑制错误 - PHP CGI 模式 - mod_php

    I use php value and php flag规则在 htaccess例如 php value upload max filesize 100M 但是 当服务器在 CGI 模式而不是 Apache 模式下运行时 这会导致错误 而我
  • 如何在时事通讯中发送图像?

    谁能告诉我如何将图像作为时事通讯的主体部分发送 我如何从后端添加任何图像 以便当我向订阅者发送新闻通讯时 我想要显示的图像作为邮件的主体部分 实际上我想说的是 我有一个可以输入文本的表单 并且该文本在时事通讯中效果很好 现在我也想在表单中添
  • PHPmailer 发送垃圾邮件

    我刚刚更新了联系表单以使用 PHPMailer 来阻止电子邮件被标记为垃圾邮件 但没有成功 我正在使用这是一个相当简单的设置 但它仍然会进入人们的垃圾邮件 这是我的脚本 我想知道是否有人能说出哪里出了问题 include once inc
  • PHP - 为什么使用 Guzzle 而不是 cURL?

    在我的应用程序中 我最初开始使用 cURL 从各种 API 检索数据 今天 我尝试使用 Guzzle 来完成同样的任务 到目前为止 cURL 和 Guzzle 似乎都工作得同样好 判断依据Github https github com gu
  • 如何从 php 中的字符串中删除 unicode 字符 (LEFT_TO_RIGHT_MARK)

    我试图在将字符串编码为 JSON 之前从字符串中删除从左到右标记 u200e 和从右到左标记 u200f 以下两者似乎都不起作用 s mb ereg replace u200e s s preg replace u200e u s s pr
  • Yii 框架将变量从控制器传递到视图

    要将变量传递给登录视图 我使用 this gt render login array model gt model 但我还需要在模板部分 footer php 中访问此变量 我试试这个 this gt render footer array
  • XML 和 INI 哪个更快?

    我想知道 XML 是否比 INI 更快 反之亦然 我正在开发一个包含许多文件的网站 这个问题与我的问题有关关于包含许多文件 https stackoverflow com questions 7777522 too many include
  • 如何使用 phpStorm 从远程服务器删除文件

    所以我已经将远程服务器添加到 phpStrom 中 我可以在那里更改文件 但是 如果我删除文件 它们只会从我的计算机上消失 而不是在服务器上消失 如何使用 phpStorm 从远程服务器删除文件 To manually从远程位置删除文件 使
  • en_CA 语言环境中 sprintf 中的逗号作为小数分隔符

    是否可以在 en CA 语言环境中的 sprintf 中使用逗号作为小数点分隔符 sprintf 能够识别区域设置 并且将始终使用当前的区域设置 但您可以使用数字格式 http php net manual en function numb
  • 在高负载站点中使用 PHP 的策略

    在你回答这个问题之前 我从未开发过任何足够流行的东西来达到高服务器负载 把我当作 叹气 一个刚刚登陆地球的外星人 尽管我了解 PHP 和一些优化技术 我正在开发一个工具PHP如果效果好的话 可以吸引相当多的用户 然而 虽然我完全有能力开发该
  • PHP 读取 XML 播客 RSS 源

    好的 我正在为朋友的播客网站创建一个页面 列出他的播客的所有剧集 本质上 我所寻找的只是如何阅读 RSS 提要 解析出节点 并将信息显示在屏幕上 最终 我将创建一个可以播放剧集的播放器 但那是很久以后的事了 这就是我阅读 RSS 源的方式
  • PHP:switch 与 if [重复]

    这个问题在这里已经有答案了 哪种形式更有效率 这个 switch var case 1 break case 2 break 或者这个 if var 1 elseif var 2 在性能方面 性能方面完全无关 As PHPBench htt
  • 无法使用 javascript 建立与安全 Websocket 服务器的连接

    我的开发环境是这样的 操作系统 微软Windows 10 PHP 框架 Laravel 8 0 PHP 版本 7 4 Websocket 服务器 cboden ratchet 0 4 3 WAMP 服务器 3 2 0 Apache 2 4

随机推荐

  • 为什么 Google Chrome 模拟器以 375x667 分辨率显示 iPhone 6?

    我正在尝试以编程方式调整我的网站的图像大小以适应不同大小的设备 但现在我很难判断我真正需要的尺寸 在 Google Chrome 模拟器中 我看到一些图像放大了 例如在 iPhone 6 上从 230x230 自然显示到 357x357 该
  • 在每个像素的基础上快速比较两个位图对象

    我目前正在实现一种接受两个位图对象的方法 我们可以假设所述对象具有相同的尺寸等 该方法的返回是像素变化的列表 这存储在自制对象中 这是以迭代方式开发的 因此当前的实现是一个基本的实现 只需处理每个像素并将其与对应的像素进行比较 这种生成更改
  • Makefile 和“重定位具有无效的符号索引”错误

    我正在尝试编写我的第一个 makefile 在我的项目中 我有这些文件 main c list c list h Makefile 其中甚至没有函数定义或声明 只是简单的include list h 并 clean main 来测试编译过程
  • 鼠标悬停时播放 vimeo 视频

    我在一个页面中有四个 vimeo iframe 我想在鼠标悬停时播放视频并在鼠标移开时暂停视频 以下代码有效 但仅适用于最后一个视频 我该如何修改它才能适用于所有视频 wrapper width 85 margin left auto ma
  • 如何使 cpack 不向 RPM 添加所需的库?

    我正在尝试将工作中的构建系统转换为 cmake 但它生成的 RPM 通过 cpack 遇到了一个有趣的问题 它会自动将它认为您的 RPM 具有的所有依赖项添加到其所需的列表中图书馆 总的来说 这很好 但对我来说 这是灾难性的 不幸的是 我们
  • 在 Javascript 和 AngularJS 中解析 CSV

    因此 我尝试创建一个基本的角度应用程序来解析一些 CSV 输入 并用解析的数据填充表格 你可以在这里看到我想要实现的目标 http plnkr co edit 6QFT4AcV4KpiSG23EdOS http plnkr co edit
  • 辅助功能:使用 aria-live 的页面加载器指示器

    Issue 我有一个正在努力解决的可访问性问题 我有一个有角度的网络应用程序 加载内容时会显示页面加载旋转器 指示器 当页面内容加载后 微调器将被隐藏 这个 div 永远不会从 DOM 中删除 当显示加载 div 时 不会读取加载 div
  • 是否可以在 Xcode 中打开 SpriteKit 的现场调试绘图?

    是否可以在 Xcode 中打开 SpriteKit 的现场调试绘图 我的意思是像下面的图片 来自 WWDC 2014 会议 608 将以下内容添加到您的视图控制器中 Swift skView showsFields true ObjC sk
  • 如何用值 X 替换子字符串 [ ]

    我在 Java 中有如下字符串 String Value You are my star dear 我只想更换 有价值X 下面尝试过 什么都没起作用 ReplaceAll X ReplaceAll X ReplaceAll X 替换方法有3
  • Fortran 错误 5082

    我对 Fortran 很陌生 我正在尝试编译这个 Fortran 我认为是 90 代码 我正在使用带有英特尔编译器的 Visual Studio 下面的代码给我一个错误 5082 我完全不知道为什么 就像字面上没有任何线索 拜托 请帮忙 i
  • 比 supertrait 具有更严格关联类型界限的特征

    我有一个简单的特征 其关联类型没有限制 trait Board type Move fn moves self gt Vec
  • 如何开启icc/icpc警告?

    我在Linux上安装了英特尔编译器composer xe 2013 sp1 3 174 我对国际刑事法院的警告感到困惑 使用简单的程序 main c 馈送 icc 如下所示 int main int argc char argv int a
  • 预计声明结束

    好的 我使用了一个建议运行良好的公式 应该没有问题 但现在我收到此错误 预计声明结束 这是公式 Range B4 FormulaR1C1 IF RC 1 T VLOOKUP RC 7 treatlookup 11 FALSE VLOOKUP
  • 使用 word2vec 的二元组向量表示

    我想使用 word2vec 工具构建文档的词嵌入 我知道如何找到与单个单词 一元组 相对应的向量嵌入 现在 我想找到二元组的向量 是否可以使用 word2vec 构建二元词嵌入 如果是 怎么办 以下代码片段将为您提供二元组的向量表示 请注意
  • 如何使用node-postgres设置模式

    我正在尝试查询名为的模式DOCUMENT在我的 postgres 数据库中使用节点 postgres https www npmjs com package pg 我似乎无法针对指定架构运行查询 该查询使用 psql 直接针对 postgr
  • ClassNotFoundException:org.slf4j.LoggerFactory

    我正在尝试运行 GWT RequestFactory 并遇到此错误 ClassNotFoundException org slf4j LoggerFactory 我已尝试下载slf4j api 1 3 1 jar但它没有解决问题 知道我需要
  • 如何在node.js中验证mongoose连接mongodb

    我已经使用命令创建了 mongodb 用户 use admin db createUser user superuser pwd 12345678 roles root 然后在我的应用程序中我尝试像这样连接猫鼬 var options us
  • C# 中字母的增量

    我正在将数据导出到Excel Using Open XML 现在我想增加字母表 就像columns A1 to B1 Z1 AA1 我已将 A1 分配给变量 并且我想将字母表增加到 B1 请提供任何可以将字母 A1 增加到 B1 Z1 AA
  • System.Net.WebRequest 支持哪些版本的 SSL/TLS?

    现在 SSL 3 已被发现容易受到POODLE http arstechnica com security 2014 10 ssl broken again in poodle attack 攻击 连接到任何 https Uri 时 Sys
  • phpRedis 迁移到集群和一致性哈希

    我们目前正在使用PhpRedis扩展 我们的代码是使用该类编写的Redis来自PhpRedis 但现在我们正在迁移到redis集群 是否可以使用Redis类连接redis集群 或者我们是否需要重新编写代码并使用 RedisArray 类 我