zoukankan      html  css  js  c++  java
  • 一站式学习Redis 从入门到高可用分布式实践(慕课)第四章 瑞士军刀 Redis

    瑞士军刀 Redis

    • 慢查询  找到系统中瓶颈的命令

              客户端请求的生命周期

    两点说明:

    1.慢查询发生在第三阶段

    2.客户端超时不一定慢查询,但慢查询是客户端超时的一个可能因素

    两个配置默认值

    config get slowlog-max-len=128  一种队列   通常设置1000

    config get slowlog-log-slower-than=10000 微秒  10ms  通常设置1ms

    定期持久化慢查询

    动态配置

    config set slowlog-max-len 1000

    config set slowlog-log-slower-than 1000

    慢查询命令

    slowlog get [n] 获取慢查询队列

    slowlog len   获取慢查询队列长度  队列里面有多少慢查询

    slowlog reset   清空慢查询队列

    • pipeline  提高客户端的效率

         流水线

     

              减少网络时间的消耗

    • 发布订阅   redis的发布订阅功能

     角色:发布者 订阅者 频道  订阅者可以订阅多频道(右图)

     

     

    消息队列 要抢      Redis不仅可作为缓存服务器,还可用作消息队列。它的列表类型天生支持用作消息队列

    发布订阅  都有

    • Bitmap  减少内存的方案

    setbit   getbit  bitcount

    Java连接远程的redis时,连接被拒绝。

    Exception in thread "main" redis.clients.jedis.exceptions.JedisConnectionException: java.net.ConnectException: Connection refused: connect
    at redis.clients.jedis.Connection.connect(Connection.java:154)
    at redis.clients.jedis.BinaryClient.connect(BinaryClient.java:83)
    at redis.clients.jedis.Connection.sendCommand(Connection.java:93)
    at redis.clients.jedis.BinaryClient.set(BinaryClient.java:100)
    at redis.clients.jedis.Client.set(Client.java:29)
    at redis.clients.jedis.Jedis.set(Jedis.java:65)
    at redis.Demo1.main(Demo1.java:10)
    Caused by: java.net.ConnectException: Connection refused: connect
    at java.net.DualStackPlainSocketImpl.waitForConnect(Native Method)
    at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:85)
    at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350)
    at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206)
    at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188)
    at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:172)
    at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
    at java.net.Socket.connect(Socket.java:589)
    at redis.clients.jedis.Connection.connect(Connection.java:148)
    ... 6 more

    可能的原因:

    redis服务器的redis.conf配置中bind 127.0.0.1

    应该改为:bind 0.0.0.0

    • HyperLogLog  极端的减少内存的方案/数据结构(算法)

    本质还是字符串

    • GEO 地理信息

                3.2版本添加的新特性 用来计算地理位置相关  其实zset类型实现

     

  • 相关阅读:
    C# List<T>排序总结
    转 SQL连接查询语句(内、外、交叉和合并查询)
    AngularJS实现数据列表的增加、删除和上移下移等功能实例
    在ASP.NET MVC项目中使用极验验证(geetest)
    WCF契约定义及主要用途
    用C#创建Windows服务(Windows Services)
    sqlserver事务加锁机制
    unicode-range特定字符使用font-face自定义字体
    Unicode范围预览
    中文汉字和常见英文数字等的unicode编码范围实例页面
  • 原文地址:https://www.cnblogs.com/jiang910/p/10025052.html
Copyright © 2011-2022 走看看