18.2. 以编程方式使用Redis Data Store

18.2.1. 创建数据存储

假定GeoMesa代码位于类路径上,可以通过普通的GeoTools发现方法获得Redis数据存储的实例。

Map<String, Serializable> parameters = new HashMap<>();
parameters.put("redis.url", "redis://localhost:6379");
parameters.put("redis.catalog", "geomesa");
org.geotools.data.DataStore dataStore =
    org.geotools.data.DataStoreFinder.getDataStore(parameters);

18.2.2. Redis数据存储参数

数据存储采用多个参数(所需参数用标记 * ):

参数

类型

描述

redis.url *

细绳

Redis连接URL。如果需要,URL可用于指定Redis数据库和凭据-例如,‘redis://user:pass@host:port/db’

redis.catalog *

细绳

GeoMesa目录表的名称。在Redis中,这是用于插入的基本密钥

redis.connection.pool.size

整型

要使用的最大同时连接数

redis.connection.pool.validate

布尔型

测试从池中借用的连接。连接可能会因不活动而关闭,如果禁用验证,则会导致暂时性错误

redis.pipeline.enabled

布尔型

启用查询请求的流水线。这减少了网络延迟,但将查询限制在单个执行线程

geomesa.query.threads

整型

每个查询要使用的线程数(如果不是流水线)

geomesa.query.timeout

细绳

在终止查询之前允许运行的最长时间。超时被指定为持续时间,例如 1 minute60 seconds

geomesa.stats.generate

布尔型

切换新创建的要素类型的统计数据收集

geomesa.query.audit

布尔型

正在运行的审核查询。查询将写入日志文件

geomesa.query.loose-bounding-box

布尔型

使用松散边界框-查询速度更快,但可能会返回无关的结果

geomesa.security.auths

细绳

将用于查询的以逗号分隔的授权超集

geomesa.security.force-empty-auths

布尔型

强制授权为空

geomesa.partition.scan.parallel

布尔型

对于分区架构,并行执行扫描,而不是顺序执行

有关使用GeoTool的更多信息,请参阅 GeoTools user guide