历史版本14 :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脚本知识。
注意:该类型的数据集需要使用2019-03-10之后的jar包。
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级别的信息函数
merge(table, column)合并数据集的内容和列名对象,用于给数据集返回正确的数据结构函数第一个参数必须是一个二维数组,第二个参数必须是一个一维数组

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

// 相对路径,读取的是WEB-INF/resources/script/query.js下的文件 // Files.require("C:/script/query.js");表示读取C盘下的文件 Files.require("resources/script/query.js"); return merge(content, column);

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

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