当前位置:首页 > 开发 > 互联网 > 正文

redis做缓存时的一点优化

发表于: 2012-12-13   作者:chenchao051   来源:转载   浏览:
摘要:         最近集群上有个job,其中需要短时间内频繁访问缓存,大概7亿多次。我这边的缓存是使用redis来做的,问题就来了。       首先,redis中存的是普通kv,没有考虑使用hash等解结构,那么以为着这个job需要访问7亿多次redis,导致效率低,且出现很多redi

 

      最近集群上有个job,其中需要短时间内频繁访问缓存,大概7亿多次。我这边的缓存是使用redis来做的,问题就来了。

      首先,redis中存的是普通kv,没有考虑使用hash等解结构,那么以为着这个job需要访问7亿多次redis,导致效率低,且出现很多redis的read timeout exception.

我采取的一些办法:

1、使用pool来管理连接,并且适当放长timeout的时间,切记在每次使用完连接后放回池中。

 

2、把不同业务的缓存放到不同的redis实例上,效率有一定增加。

 

3、这个job访问的缓存有个特点,数据量不大,总共才几十兆,所以决定在每个node上使用map来保存,在reduce初始化阶段就读进去,效率有较大提升。

 

4、使用redis的pipeline,一次性将所有缓存拉过来,效率非常好。(注意这里需要你获取缓存值之间没有依赖)

 

此外,我也是用了hadoop的DistributedCache来处理,效果也还过得去,但是我始终对这个方式没好感,最大的体会是不灵活,特别是在有向缓存服务器反设值的时候,此方式无效。

 

redis做缓存时的一点优化

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

编辑推荐
1 添加redis支持 在pom.xml中添加 <dependency> <groupId>org.springframework.boot<
1 添加redis支持 在pom.xml中添加 <dependency> <groupId>org.springframework.boot<
1 添加redis支持 在pom.xml中添加 Xml代码 <dependency> <groupId>org.springframework
1 添加redis支持 在pom.xml中添加 <dependency> <groupId>org.springframework.boot<
转自:http://wiselyman.iteye.com/blog/2184884 1 添加redis支持 在pom.xml中添加 Xml代码 <dep
最近在排查redis做rdb时会有部分请求超时的case。初步判断是我们 redis服务器上开启了THP(Transpar
Redis是一个key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符
缓存与优化 最近更新晚了,给大家说声抱歉,诸君久等了,直接上干货,不过由于本人知识有限,难免有
Redis缓存介绍和使用 参考: http://snowolf.iteye.com/blog/1630697 一、Redis介绍: redis是一个ke
转:http://www.cnblogs.com/aehyok/p/3478282.html Redis for Windows(C#缓存)安装和使用 前言 前
版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号