Redis优化——管道技术

redis请求量巨大时也会存在速度瓶颈

可以使用管道技术,redis客户端与服务器交互遵循TCP通讯协议,网络请求一次只能发一条命令(每一次set,get只能存取一条数据),高并发时会限制读取缓存的效率;而管道技术优点在于客户端可以一次发多条命令,结果也是一次性获取多条结果,能够提升缓存读取效率。

    private void pipeLine(){
        Jedis jedis = new Jedis();
        Pipeline pipeline = jedis.pipelined();
        String key = 1 + ":";
        String value = "value";
        pipeline.set(key,value);
        //获取所有的response
        pipeline.sync();
        pipeline.get(key);
    }

在Redis中,如果客户端使用管道发送了多条命令,那么服务器就会将多条命令放入一个队列中,这一操作会消耗一定的内存,所以管道中命令的数量并不是越大越好(太大容易撑爆内存),而是应该有一个合理的值。

又想到了管道技术其实和hmG(S)et有些相似,不过一个是高并发存取一个对象,一个将大量数据存储为hashMap数据结构后存取

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值