@JFinal ,波总,不知道您是否有时间看,最近在用2.2,在用到redis存取list的时候取出来的值多一个中括号,我在存的时候是没有的。
取出来的值是可以直接使用了吧
回复不可以用,提示无法转换成List<Record>,我打断点看数据,里面多一个括号。
回复波总,存数据的时候只有一个中括号,但是取的时候是有两个中括号,在图片里非常清楚,我想问下,jfinal在使用redis的时候是不是也需要自己去序列化与反序列化
贴出存与取的具体代码
我存的时候是List<Record>,我取的时候应该怎么取呢?我直接cache.lrange(key,0,-1)取的时候就是上图的效果。
这种情况应该是正常的,因为用的是redis的list相关api,所以存数据时被当成是list中的元素,而取数据时redis自动将元素放入一个新建的list之中,所以原来的list元素被新建的list再套了一层,建议仔细研究一下lpush、lrange的用法
回复我的感觉也是这样,但是不知道如何去处理。我以为jfinal里有写好的方法。我找到了ISerializer iSerializer = cache.getSerializer();,但是仔细看了下api,效果不是很理想。
回复波总,我直接给list(0)取出来,indexDisplayGoodsList = (List<Record>) list.get(0);就可以用了。
回复jfinal 的 redis plugin 是自动做的序列化与反序列化,所以这个过程不需要干预,只需要用好所提供的api就可以,无论你lpush 的是什么类型的数据,lrange出来的都是一个list,这个是api决定的,具体数据需要从这个返回的list中再取一次
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
暂无简介
文章 0 评论 0
接受
发布评论
评论(11)
取出来的值是可以直接使用了吧
回复
不可以用,提示无法转换成List<Record>,我打断点看数据,里面多一个括号。
回复
波总,存数据的时候只有一个中括号,但是取的时候是有两个中括号,在图片里非常清楚,我想问下,jfinal在使用redis的时候是不是也需要自己去序列化与反序列化
引用来自“JFinal”的评论
贴出存与取的具体代码
贴出存与取的具体代码
我存的时候是List<Record>,我取的时候应该怎么取呢?我直接cache.lrange(key,0,-1)取的时候就是上图的效果。
这种情况应该是正常的,因为用的是redis的list相关api,所以存数据时被当成是list中的元素,而取数据时redis自动将元素放入一个新建的list之中,所以原来的list元素被新建的list再套了一层,建议仔细研究一下lpush、lrange的用法
回复
我的感觉也是这样,但是不知道如何去处理。我以为jfinal里有写好的方法。我找到了ISerializer iSerializer = cache.getSerializer();,但是仔细看了下api,效果不是很理想。
回复
波总,我直接给list(0)取出来,indexDisplayGoodsList = (List<Record>) list.get(0);就可以用了。
回复
jfinal 的 redis plugin 是自动做的序列化与反序列化,所以这个过程不需要干预,只需要用好所提供的api就可以,无论你lpush 的是什么类型的数据,lrange出来的都是一个list,这个是api决定的,具体数据需要从这个返回的list中再取一次
引用来自“JFinal”的评论
贴出存与取的具体代码