小编rav*_*rab的帖子

Redis哨兵与群集

我知道redis sentinel是一种在多个redis实例中配置HA(高可用性)的方法.正如我所看到的,在任何给定时间都有一个redis实例主动为客户端请求提供服务.有两个额外的服务器处于待机状态(等待故障发生,因此其中一个可以再次运行).

  • 浪费资源吗?
  • 有没有更好的方法来充分利用可用资源?
  • Redis是否会成为Redis哨兵的替代品?

我已经查找了redis文档的sentinelclustering,请有经验的人解释一下.

Redis哨兵中的主从配置 - 失败前

师父失败,奴隶开始行动

UPDATE

好.在我的实际部署方案中,我有两台专用于redis的服务器.我有另一台服务器,我的Jboss服务器正在运行.在Jboss中运行的应用程序配置为连接到redis主服务器(M).

故障转移方案

理想情况下,我认为当主缓存服务器出现故障(Redis进程出现故障或计算机出现故障)时,Jboss中的应用程序需要连接到Slave缓存服务器.我如何配置redis服务器来实现这一目标?

+--------+          +--------+
| Master  |---------| Slave  |
|         |         |        |
+--------+          +--------+

Configuration: quorum = 1
Run Code Online (Sandbox Code Playgroud)

redis

88
推荐指数
7
解决办法
6万
查看次数

有没有办法在多个列表中找到共同元素?

我有一个整数数组列表.我需要找到它们之间的共同元素.我能想到的是两个列表Common元素中列出的内容的扩展

Example would be 
[1,3,5],
[1,6,7,9,3],
[1,3,10,11]

should result in [1,3]
Run Code Online (Sandbox Code Playgroud)

数组中也没有重复项.

有没有直接的方法来做到这一点?

java arrays collections colt guava

11
推荐指数
4
解决办法
3万
查看次数

如何将1亿行加载到内存中

我需要从MySQL数据库加载1亿多行到内存中.我的java程序失败,java.lang.OutOfMemoryError: Java heap space 我的机器中有8GB RAM,而且我的JVM选项中给了-Xmx6144m.

这是我的代码

public List<Record> loadTrainingDataSet() {

    ArrayList<Record> records = new ArrayList<Record>();
    try {
        Statement s = conn.createStatement(java.sql.ResultSet.TYPE_FORWARD_ONLY, java.sql.ResultSet.CONCUR_READ_ONLY);
        s.executeQuery("SELECT movie_id,customer_id,rating FROM ratings");
        ResultSet rs = s.getResultSet();
        int count = 0;
        while (rs.next()) {
Run Code Online (Sandbox Code Playgroud)

知道如何克服这个问题吗?


UPDATE

我发现了这篇文章,并根据下面的评论更新了我的代码.我似乎能够以相同的-Xmx6144m数量将数据加载到内存中,但这需要很长时间.

这是我的代码.

...
import org.apache.mahout.math.SparseMatrix;
...

@Override
public SparseMatrix loadTrainingDataSet() {
    long t1 = System.currentTimeMillis();
    SparseMatrix ratings = new SparseMatrix(NUM_ROWS,NUM_COLS);
    int REC_START = 0;
    int REC_END = 0;

    try {
        for (int i = 1; i <= …
Run Code Online (Sandbox Code Playgroud)

java sql jdbc out-of-memory

4
推荐指数
1
解决办法
3万
查看次数

Java 资源包格式不带逗号

我有一个 Web 服务实现,它验证请求并在响应中写入错误消息。响应的格式不符合要求。

错误消息模板位于资源包属性文件中。

...
key=Plant name {0}  Plant Id {1}.
...
Run Code Online (Sandbox Code Playgroud)

这是我在验证后收到的错误消息。

Plant name PLANT1  Plant Id 9,905,005.
Run Code Online (Sandbox Code Playgroud)

但所需的输出没有数字变量的逗号。

Plant name WPLANT  Plant Id 9905005.
Run Code Online (Sandbox Code Playgroud)

这是我的代码。

...
key=Plant name {0}  Plant Id {1}.
...
Run Code Online (Sandbox Code Playgroud)

我使用以下键和变量调用此方法。

Plant name PLANT1  Plant Id 9,905,005.
Run Code Online (Sandbox Code Playgroud)

如何更改此代码以获得所需的输出?我更喜欢不包含 %s, %d 的方法,因为这样我就失去了更改属性文件中错误消息中变量顺序的能力。

java resourcebundle internationalization number-formatting

4
推荐指数
1
解决办法
4792
查看次数

Redis专用服务器的硬件配置是什么?

我打算在主/从配置中配置Redis.

我有三台机器(8GB RAM,8个核心),计划使用一个主机和两个从机.

这些机器的推荐硬件配置是什么?

redis

4
推荐指数
1
解决办法
5545
查看次数

在 Spring 启动应用程序中配置 mongodb 属性 maxWaitQueueSize?

com.mongodb.MongoWaitQueueFullException: Too many threads are already waiting for a connection. Max number of threads (maxWaitQueueSize) of 500 has been exceeded.对我的应用程序进行压力测试时出现错误。

所以我想maxWaitQueueSize通过配置来配置属性。

我正在使用 spring boot 来配置 mongodb 连接。我在我的应用程序中使用 @EnableAutoConfiguration 并且我只spring.data.mongodb.uri=mongodb://user:password@ip:27017在 application.properties 文件中声明。

如何maxWaitQueueSize使用 spring boot配置属性?

我如何为 确定一个好的价值maxWaitQueueSize

mongodb spring-boot

4
推荐指数
1
解决办法
8663
查看次数

Web客户端与gRPC服务器通信

我有一个c ++服务,我打算使用gRPC服务器公开.Web浏览器与gRPC服务器通信的方式是什么?我正在使用angularJS作为前端.

我看一下grpc文档.但无法找到有关浏览器支持的信息.

图片来自https://dzone.com/articles/grpc-sample-in-c-and-python

protocol-buffers grpc

2
推荐指数
1
解决办法
4212
查看次数

mongoexport CSV 没有标题字段

我在下面的 shell 脚本中将某些字段从 mongo 集合导出到 CSV 文件。

mongoexport --host localhost --db mydb --collection ratings --csv > data.csv --fields userId,filmId,score
Run Code Online (Sandbox Code Playgroud)

我的问题是生成的结果带有标头值。

前任:

userId,filmId,score
517,533,5
518,534,5
Run Code Online (Sandbox Code Playgroud)

有没有办法生成没有标题字段的 csv 文件?

mongodb mongoexport

1
推荐指数
1
解决办法
3338
查看次数