历史版本14 :Redis数据集 返回文档
编辑时间:
内容长度:图片数:目录数:
修改原因:
1. 描述编辑
Redis缓存数据库作为最为的流行的缓存数据库之一,经常被使用在各种需要高速访问的场景下,偶尔也需要把缓存中的数据取出来做一些简单的查看和分析。但是Redis作为NoSQL数据库,在FineReport中没有办法直接使用JDBC或者JNDI连接访问。
2. 解决方案编辑
在帆软市场下载Redis数据集插件:https://market.fanruan.com/plugin/746
3. 使用教程编辑
3.1 新建Redis数据连接
可以配置Redis连接的连接池信息
如果当前报表服务器,无法直接连接Redis服务器,而是需要通过跳板机器连接Redis服务器,则需要配置跳板服务器
注意:一旦配置了跳板服务器,那么连接池配置就失效了,只能使用单个连接。
3.2 Redis数据集
3.2.1 新建Redis数据集数据库编号是区分
注意:左侧的列表是用于展示搜索出来的key值的,方便编写SQL语句的时候使用列出来的key值。
3.2.3 预览效果操作符 | 示例代码 | 说明 |
---|---|---|
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程序数据集
3.3.2 编写Redis查询脚本
名称 | 作用 | 类型 | 注意事项 |
---|---|---|---|
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) | 合并数据集的内容和列名对象,用于给数据集返回正确的数据结构 | 函数 | 第一个参数必须是一个二维数组,第二个参数必须是一个一维数组 |
在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。
使用相对路径的时候会读取报表工作目录下的文件,使用绝对路径时,会直接读取该文件。