问题标签 [redis-cluster]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
scala - 我需要一个用于 redis 集群的 scala 客户端库
我在启用集群模式的 Amazon Eleasticache 中创建了一个 redis。我有一个 scala 客户端(scala-redis)但是这个客户端在正常模式下工作正常(集群禁用模式)但在集群模式下不工作。我收到 MOVED 12351 127.0.0.1:7000 的错误。我搜索了很多客户端但是我找不到一个支持集群模式的。所以请帮助我克服这个问题。
redis - Redis 作为自填充缓存
Redis 可以用作自填充缓存(或直通缓存)吗?
换句话说,如果这个条目还没有被缓存,它是否能够动态创建一个条目?
amazon-web-services - 在 aws elasticache redis-cluster 中,我们如何查看哪些节点是主节点或副本?
在以下链接:
http://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/ClientConfig.ReplicationGroup.html
存在以下内容:
在上面,最右边
有“primary”和“replica”
截至今天,在 aws 控制台中,
当我发出“describe-replication-groups”命令时,
我看不到“主”和“副本”
相反,我看到如下内容:
我尝试了各种命令,找不到。
以什么方式,我可以查看某个分片/节点是否为主/副本的详细信息
提前致谢
transactions - 是否有任何 Redis 客户端(首选 Java)支持 Redis 集群上的事务?
我在网上搜索了很多,但找不到提供此功能的成熟 Redis 客户端。只找到了这个项目。有人知道提供上述内容的 Redis 客户端吗?谢谢你。
redis - 获取“keypattern*”在 Redis 集群中不起作用
在 Redis 环境中,我们熟悉类似的命令
:键 *
: 获取模式
但是这些在集群中不容易工作。
我找到了“keys *”的解决方法(虽然它很慢)。但我坚持“获取模式”
根据我的理解,它不起作用的原因是..
每个 redis 节点都使用一种算法来查找任何 key 的哈希值,并且它已经知道哪些哈希块属于哪个节点。因此它将调用(get/set/hmget/.....)重定向到该特定节点。
现在,在模式的情况下,它无法识别 hash 的所有者,直到它获得实际的密钥。
假设键是 xyz,如果我使用 xy*,它的散列是 100,它不可能得到以 xy 开头的键的可能散列列表
我想知道,是否有人可以在这里显示一些亮点,或者我的理解是错误的(如果是的话,我会很高兴)或者是否有任何工具(如 jedis ......)可用,这适合我的要求
谢谢 !
redis - 如何设置 Redis Cluster Slave 仅用于备份?
我想在 Redis 集群中添加一个新的从属服务器,该集群目前有 3 个主服务器和 3 个从服务器。但是新的slave只用于bgsave,如果master故障转移它就不能成为master,我可以这样做吗?
redis - 如何连接到另一个网络中的远程 Redis 集群?
Redis 集群是使用内部 IP 地址创建的。
对外连接只有一个公网ip,54.174.xxx.xxx。
连接集群后,重定向出现问题。
看起来 redis 正在要求客户端连接到另一个节点以获取数据。是否可以让当前连接的节点在行为上获取数据?或任何其他解决方案?
至少,我知道 Cassandra 会从另一个节点获取数据以返回而不是重定向。
c# - c#的Redis异步调用,当每秒有400-500个请求时,使用“DatabaseAsync”会使响应变慢
当我使用:
称呼:call(client => redisInstance.SetMembersAsync(setName))
它工作正常,但是当有很多请求时,“CPU”使用率会增加;
但在第二种情况下:
称呼:call2(async client => await redisInstance.SetMembersAsync(setName))
CPU 没问题,但响应需要很长时间;
关于这个案例的任何想法?第二种方法有什么问题?
javascript - 无法从 Docker 容器内部连接到 Redis 集群
我有一个使用这个ioredis javascript 客户端库的 Node 应用程序。我的问题是我无法将这个也是 dockerized 的应用程序连接到我的 Redis 集群(端口 7000 到 7005)及其容器。这是我的设置和结果:
我克隆了这个Docker-redis-cluster repo 并按照说明从Dockerfile
.
然而,在构建之前,我唯一的改变是设置我自己的版本,我已经更改为
按照我运行的说明
到目前为止很棒...
除了一些警告,例如:WARNING: The TCP backlog setting of 511 cannot be enforced because /proc/sys/net/core/somaxconn is set to the lower value of 128.
,到目前为止一切都很好。为什么?:
- 这是输出的屏幕截图。
- 我可以使用进入 CLI
redis-cli -c -p 7000
我
/li>docker inspect [container id]
看到它的 NetworkSettings > IPAddress 为 172.17.0.2 并且在 NetworkSettings > Ports 我看到
接下来,我停止并删除所有容器。我导航到我的 web 应用程序的根目录,其中我有 aDockerfile
和 adocker-compose.yml
在这里:
码头工人-compose.yml
Dockerfile
连接.js
然后我跑
和
输出在这个gist中。对于这个例子,我从那里删除了一些不相关的行(用“...”表示)。
如果有什么不同,我的应用程序是从这个 React-redux样板构建的,但它不包含 Redis。
完整性检查
正如您在要点中看到的那样,随着
/li>docker-compose up
运行和错误不断记录,当我执行时,我仍然可以从容器外部连接到集群:$ docker ps
显示此屏幕截图。$ docker exec 4b3ec3e53e32 ps aux | grep redis
显示此屏幕截图。这是 redis 容器的完整输出。
$ docker inspect 4b3ec3e53e32
注意"IPAddress": ""
下NetworkSettings
...
进一步的问题
- ...为什么现在是空白的?这就是我的 Redis 客户端无法连接到集群的原因吗?
- 那个ip和那个ip有什么区别
"HostIp": "0.0.0.0",
?0.0.0.0
绑定在配置中redis.conf
,我认为这意味着服务器只会监听来自该地址的请求。这是否意味着那里列出的 IP 必须与我的其他ctn_web_1
容器的 ip 匹配? - 我们还从输出中看到
docker-compose up
Redis 服务器在172.18.0.2
. 我注意到这在我运行的实例之间也发生了很大变化(例如172.18.0.4
, ) 。为什么?是因为我在再次运行之前还没有完全删除容器吗?但是,我不应该在我的代码中使用这个 IP 地址,因为这个地址在 redis 容器内部(而我的 web 容器感兴趣的接口是 redis 容器的地址)?172.18.0.3
docker-compose
connect.js
更新:
A.$ docker-compose ps
输出在这里。B. 还要注意这个问题。更具体地说,
redis 集群还不支持 docker(除非你做主机网络)->广告的 ip 地址将不同于他们可以通过的地址
redis - 如何使用hset将数据存储在redis集群的不同节点中?例如。hset 用户名1 aa name2 bb
我正在使用 redis 使用 HSET 存储一些键/值。这是我正在使用的示例命令。
我会尝试redis集群,如何保持数据存储在不同的节点?