JFinal的redis取值问题

发布于 2021-12-01 03:59:16 字数 262 浏览 878 评论 11

@JFinal ,波总,不知道您是否有时间看,最近在用2.2,在用到redis存取list的时候取出来的值多一个中括号,我在存的时候是没有的。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(11

情场扛把子 2021-12-02 07:17:24

取出来的值是可以直接使用了吧

三月梨花 2021-12-02 07:17:20

回复
不可以用,提示无法转换成List<Record>,我打断点看数据,里面多一个括号。

伪装你 2021-12-02 07:17:17

回复
波总,存数据的时候只有一个中括号,但是取的时候是有两个中括号,在图片里非常清楚,我想问下,jfinal在使用redis的时候是不是也需要自己去序列化与反序列化

如日中天 2021-12-02 07:17:12

引用来自“JFinal”的评论

贴出存与取的具体代码

琴流音 2021-12-02 07:16:22

贴出存与取的具体代码

甜柠檬 2021-12-02 07:15:39

我存的时候是List<Record>,我取的时候应该怎么取呢?我直接cache.lrange(key,0,-1)取的时候就是上图的效果。

倾城泪 2021-12-02 06:48:20

这种情况应该是正常的,因为用的是redis的list相关api,所以存数据时被当成是list中的元素,而取数据时redis自动将元素放入一个新建的list之中,所以原来的list元素被新建的list再套了一层,建议仔细研究一下lpush、lrange的用法

陌若浮生 2021-12-02 05:35:36

回复
我的感觉也是这样,但是不知道如何去处理。我以为jfinal里有写好的方法。我找到了ISerializer iSerializer = cache.getSerializer();,但是仔细看了下api,效果不是很理想。

无声静候 2021-12-02 05:20:54

回复
波总,我直接给list(0)取出来,indexDisplayGoodsList = (List<Record>) list.get(0);就可以用了。

泛泛之交 2021-12-02 04:42:52

回复
jfinal 的 redis plugin 是自动做的序列化与反序列化,所以这个过程不需要干预,只需要用好所提供的api就可以,无论你lpush 的是什么类型的数据,lrange出来的都是一个list,这个是api决定的,具体数据需要从这个返回的list中再取一次

噩梦成真你也成魔 2021-12-02 04:37:47

引用来自“JFinal”的评论

贴出存与取的具体代码

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文