一站式学习Redis 从入门到高可用分布式实践(慕课)第四章 瑞士军刀 Redis

瑞士军刀 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一站式学习Redis 从入门到高可用分布式实践(慕课)第四章 瑞士军刀 Redis

          减少网络时间的消耗

一站式学习Redis 从入门到高可用分布式实践(慕课)第四章 瑞士军刀 Redis一站式学习Redis 从入门到高可用分布式实践(慕课)第四章 瑞士军刀 Redis

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

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

一站式学习Redis 从入门到高可用分布式实践(慕课)第四章 瑞士军刀 Redis一站式学习Redis 从入门到高可用分布式实践(慕课)第四章 瑞士军刀 Redis

 一站式学习Redis 从入门到高可用分布式实践(慕课)第四章 瑞士军刀 Redis一站式学习Redis 从入门到高可用分布式实践(慕课)第四章 瑞士军刀 Redis

一站式学习Redis 从入门到高可用分布式实践(慕课)第四章 瑞士军刀 Redis一站式学习Redis 从入门到高可用分布式实践(慕课)第四章 瑞士军刀 Redis

 一站式学习Redis 从入门到高可用分布式实践(慕课)第四章 瑞士军刀 Redis一站式学习Redis 从入门到高可用分布式实践(慕课)第四章 瑞士军刀 Redis

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

发布订阅  都有

  • Bitmap  减少内存的方案

setbit   getbit  bitcount

一站式学习Redis 从入门到高可用分布式实践(慕课)第四章 瑞士军刀 Redis一站式学习Redis 从入门到高可用分布式实践(慕课)第四章 瑞士军刀 Redis

一站式学习Redis 从入门到高可用分布式实践(慕课)第四章 瑞士军刀 Redis一站式学习Redis 从入门到高可用分布式实践(慕课)第四章 瑞士军刀 Redis

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  极端的减少内存的方案/数据结构(算法)

本质还是字符串

一站式学习Redis 从入门到高可用分布式实践(慕课)第四章 瑞士军刀 Redis

一站式学习Redis 从入门到高可用分布式实践(慕课)第四章 瑞士军刀 Redis一站式学习Redis 从入门到高可用分布式实践(慕课)第四章 瑞士军刀 Redis

一站式学习Redis 从入门到高可用分布式实践(慕课)第四章 瑞士军刀 Redis一站式学习Redis 从入门到高可用分布式实践(慕课)第四章 瑞士军刀 Redis

  • GEO 地理信息

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

一站式学习Redis 从入门到高可用分布式实践(慕课)第四章 瑞士军刀 Redis

一站式学习Redis 从入门到高可用分布式实践(慕课)第四章 瑞士军刀 Redis一站式学习Redis 从入门到高可用分布式实践(慕课)第四章 瑞士军刀 Redis

一站式学习Redis 从入门到高可用分布式实践(慕课)第四章 瑞士军刀 Redis一站式学习Redis 从入门到高可用分布式实践(慕课)第四章 瑞士军刀 Redis

 一站式学习Redis 从入门到高可用分布式实践(慕课)第四章 瑞士军刀 Redis一站式学习Redis 从入门到高可用分布式实践(慕课)第四章 瑞士军刀 Redis