大家平时怎么用redis? java使用redis作缓存,序列化和返序列化很耗时

netsupper 2017-06-22 09:06:25
大家平时怎么用redis? java使用redis作缓存,序列化和返序列化很耗时

如果全部的缓存都是有网络缓存,性能急速下降

12306使用gemfire,不知怎么处理这问题
...全文
13392 21 打赏 收藏 转发到动态 举报
写回复
用AI写文章
21 条回复
切换为时间正序
请发表友善的回复…
发表回复
zgycsmb 2019-06-26
  • 打赏
  • 举报
回复
redis可用缓存,也可永久式把数据保持在本地。一般用缓存的比较多。
stevenjin 2018-10-13
  • 打赏
  • 举报
回复
选对序列化类
爱吃火锅的S 2018-09-05
  • 打赏
  • 举报
回复 1
redis的value序列化方式有几种,jdk的序列化会慢很多,考虑换其他序列化方式,另外如果存储大对象,选好数据结构,建议使用Hash
k10509806 2018-07-27
  • 打赏
  • 举报
回复
使用json,兼容性好,redis再慢也就几十毫秒。。。推荐使用二级缓存j2cache
游北亮 2018-07-27
  • 打赏
  • 举报
回复
就拿缓存来说,
可以缓存,本身就是对实时性要求不高的场景,以最终一致性为保证,
所以一般可以做2级缓存,
服务器本地内存缓存=》Redis缓存=》DB。
这样既保障了性能,也不至于有频繁的网络缓存开销。

游北亮 2018-07-27
  • 打赏
  • 举报
回复
Redis仅用于缓存?Redis的用途多了去了。
Session共享、Bitmap、统计计数、分布式锁、抽奖秒杀、排行榜单/用户排名、发布订阅等等。

在很多业务场景中,序列化的性能损耗跟业务的复杂度对比,完全不是一个数量级的,
不要捡了芝麻丢了西瓜。
OK_boom 2018-07-21
  • 打赏
  • 举报
回复
引用 9 楼 u010433265 的回复:
不要用jdk的序列化,用json,要快很多

同意, 但改用json序列化器, 需要额外做些处理.
OK_boom 2018-07-21
  • 打赏
  • 举报
回复
引用 6 楼 FuChena 的回复:
如果数据结构简单 数据不大的话建议直接将存的对象转成String存储 如果数据结构复杂数据量大的话推荐使用序列化, 这种数据如果哦直接转换成String存储 这样会比直接序列化大大大的多 会消耗redis很多内存

还不是要序列化, 楼主是 埋怨序列反序列耗时,,, 以我所知spring-data-redis默认是用jdk的序列化器, 我测试过远没有jackson的json速度快.
yanbingwei86 2018-02-25
  • 打赏
  • 举报
回复
1. 看你对序列化的要求,选择合适的序列化框架。比如:追求时间和空间效率 还是追求反序列化速度,等等,很多序列化框架可供选择 2. redis走内网的化,是毫秒级别的操作 我觉得你有常识性错误
rumlee 2018-02-01
  • 打赏
  • 举报
回复
一直都是用json序列号的,性能还是不错的。
java竹雨 2018-01-29
  • 打赏
  • 举报
回复
用这个FSTConfiguration 他是java的几十倍
林二棍子 2018-01-08
  • 打赏
  • 举报
回复
1. 如果是结构化的数据,建议将对象序列化为JSON格式的字符串放在缓存中。 2. 建议采用ehcache做本地缓存,redis做共享缓存。可参考文章: http://blog.csdn.net/liaoyulin0609/article/details/51787020 http://blog.csdn.net/liaoyulin0609/article/details/51919789 或采用其他开源的二级缓存框架。
u010433265 2018-01-04
  • 打赏
  • 举报
回复
不要用jdk的序列化,用json,要快很多
rumlee 2017-12-06
  • 打赏
  • 举报
回复
引用 3 楼 w2556089 的回复:
在本地做一级缓存 使用redis做二级缓存
我一般也都是这样做的。能够尽量减少redis因网络、序列化反序列化的时间。
付晨啊 2017-09-30
  • 打赏
  • 举报
回复
如果数据结构简单 数据不大的话建议直接将存的对象转成String存储 如果数据结构复杂数据量大的话推荐使用序列化, 这种数据如果哦直接转换成String存储 这样会比直接序列化大大大的多 会消耗redis很多内存
zlp412339845 2017-09-30
  • 打赏
  • 举报
回复
推荐使用两级框架 例如J2Cache 基于ehcache 和 redis 的二级缓存框架
清风文人 2017-08-29
  • 打赏
  • 举报
回复
redis 只作树缓存 用其他缓存做内容缓存 保证redis和库的同步,这样最快
青年卫大师 2017-08-09
  • 打赏
  • 举报
回复
在本地做一级缓存 使用redis做二级缓存
chenyihan2017 2017-06-29
  • 打赏
  • 举报
回复
redis作缓存的时候,主要是把数据存储到内存中进行读取,而且redis存储的数据类型十分丰富,支持key/value形式。 性能来讲,还是很快的。
zyrobert 2017-06-29
  • 打赏
  • 举报
回复
楼主换个角度想一下,序列化再耗时也就几毫秒的事情,如果不走redis,走业务逻辑取结果的时间得是他几十上百倍,所以这点消耗可以忽略不计了。世上没有百分百完美的事情,只是权衡之后选更好的。

25,985

社区成员

发帖
与我相关
我的任务
社区描述
高性能WEB开发
社区管理员
  • 高性能WEB开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧