历史版本18 :Redis数据集 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

1. 描述编辑

Redis 缓存数据库作为最为的流行的缓存数据库之一,经常被使用在各种需要高速访问的场景下,偶尔也需要把缓存中的数据取出来做一些简单的查看和分析。但是 Redis 作为 NoSQL数据库,在 FineReport 中没有办法直接使用 JDBC 或者 JNDI 连接访问。

2. 解决方案编辑

在帆软市场下载 Redis 数据集插件:https://market.fanruan.com/plugin/746

3. 使用教程编辑

3.1 新建 Redis 数据连接

222

可以配置 Redis 连接的连接池信息

222

如果当前报表服务器,无法直接连接 Redis 服务器,而是需要通过跳板机器连接 Redis 服务器,则需要配置跳板服务器

222

注意:一旦配置了跳板服务器,那么连接池配置就失效了,只能使用单个连接。

3.2 Redis 数据集

3.2.1 新建 Redis 数据集

222

3.2.2 编写 Redis 查询语句

222

数据库编号是区分

注意:左侧的列表是用于展示搜索出来的 key 值的,方便编写 SQL 语句的时候使用列出来的 key 值。

3.2.3 预览效果

222

3.2.4 支持的命令

操作符  示例代码   说明 
  get get hellokey 获取 hellokey 对应的值
  mget mget foo bar zyx  获取参数列表汇总所有的键对应的值
 hkeys hkeys website 获取指定哈希表中的所有键
 hget hget site redis 
 hmget hmget pet dog cat返回哈希表key中,一个或多个给定域的值,可参考 http://redisdoc.com/hash/hmget.html
  hgetall  hgetall contry  获取哈希表中所有的键值对
  lrange  lrange score 0 -1  获取列表中指定位置的值
 smembers smembers name 获取无序列表中参数值对应的所有元素
 zrange zrange 


3.3 Redis 程序数据集

Redis 程序数据集,是使用支持 ES6 的 JavaScript 脚本语句,来从 Redis 查询数据并进行数据转黄的数据集,该数据使用非常灵活,但需要有一定的 JavaScript 脚本知识。

注意1:该类型的数据集需要使用 2019-03-10 之后的 JAR 包。

注意2:如果服务器不支持V8引擎,会降级为使用JDK内置的Nashon引擎,只能使用ES5语法。

注意3:可以使用脚本语句 return merge([[console.engine()]], ["engine"]); 查看当前服务器使用的脚本引擎。

3.3.1 新建 Redis 程序数据集


222


3.3.2 编写 Redis 查询脚本

222


3.3.3 内置函数和变量

名称

作用

类型

注意事项

redis表示 redis 客户端变量
redis.get等同于命令 get函数
redis.hget等同于命令 hget函数
redis.hkeys等同于命令 hkeys函数
redis.hmget等同于命令 hmget函数
redis.hgetAll等同于命令 hgetall函数注意是驼峰式的方法名字,不是全小写
redis.keys等同于命令 keys函数
redis.lrange等同于命令 lrange函数
redis.mget等同于命令 mget函数
redis.smembers等同于命令 smembers函数
unique(array)将数组进行去重,主要用于列名处理函数
console.log(info)输出调试信息,会在日志文件中输出 INFO 级别的信息函数
console.error(err)输出错误级别的信息,会在日志文件中输出 ERROR 级别的信息函数
console.engine输出使用的脚本引擎函数V8或者Nashorn
merge(table, column)合并数据集的内容和列名对象,用于给数据集返回正确的数据结构函数第一个参数必须是一个二维数组,第二个参数必须是一个一维数组





3.3.4 执行外部脚本

在 Redis 程序数据集中,我们可以使用 Files.require(filePath) 来引入外部脚本文件,示例如下:


// 相对路径,读取的是 下的文件
// Files.require("");表示读取 C 盘下的文件
Files.require("");
return merge(content, column);

其中 query.js 文件的位置为:报表工作目录/resources/script/query.js

使用相对路径的时候会读取报表工作目录下的文件,使用绝对路径时,会直接读取该文件。