我正在使用出色的RediSql(Redis的模块)来获得强大的缓存解决方案。
向Redis发送命令时,它会在后台与SqLite db交互,如下所示:
REDISQL.EXEC db "SELECT * FROM jobcache"
我得到这样的结果:
我得到的是整数列的类型,但不是字符串的类型,并且没有提供列名。
有没有办法总是获取列名和定义的数据类型?我需要这样做,因为我需要将结果转换回更标准的sql结果格式。
不幸的是,目前使用EXEC命令是不可能的。
你可以使用QUERY.INTO command
参考
QUERY.INTO
将查询结果添加到流中,它会为每行添加列和值。然后,你可以按照自己喜欢的任何方式使用流。
在对RediSQL进行查询(读取)时,使用.QUERY
系列命令是一种好习惯,这样可以避免在集群设置中不必要的数据复制。
此外,.QUERY
还可以对主redis实例的副本使用命令,而.EXEC
仅对主实例使用命令。
Siscia,您还提到RediSql的v 2可能会提供使列名恢复的选项,对吗?=)
更新:Siscia已解决了该问题,在较新的版本中,返回了列名以进行解析,并且通常使工作变得更轻松。好东西!