添加maven配置
redis.clients jedis3.7.0
jedis 直连
//生成一个redis对象,负责和指定redis节点进行通信 tcp连接 Jedis jedis = new Jedis("127.0.0.1",6379); //jedis执行set *** 作 jedis.set("hello","world"); //jedis 执行get *** 作 value = “world” jedis.get("hello");
直连和连接池的对比
二、 慢查询Redis慢查询日志可以记录超过指定时间的查询。运行时间不包括各种I/O时间,例如:连接客户端,发送响应数据等,而只计算命令执行的实际时间(这只是线程阻塞而无法同时为其他请求服务的命令执 行阶段)
你可以为慢查询日志配置两个参数:一个指明Redis的超时时间(单位为微秒)来记录超过这个时间的命令 另一个是慢查询日志长度。当一个新的命令被写进日志的时候,最老的那个记录从队列中移除。
1、生命周期
发送请求——>排队(单线程)——>执行命令——>返回结果
说明:
慢查询发生在第三阶段(执行命令)
客户端超时不一定就是慢查询导致的,但是慢查询是客户端超时的一个可能因素
2、配置
修改配置文件 redis.conf 重启
slowlog-log-slower-than:设置慢查询的时间(单位:微秒)默认值10000
slowlog-max-len:设置队列长度 默认值128
动态配置:
config set slowlog-log-slower-than 10000
config set slowlog-max-len 1000
3、慢查询日志命令
1. slowlog get [n]:获取慢查询队列
2. slowlog len:获取慢查询队列长度
3. slowlog reset:清空慢查询队列
建议:
1. slowlog-max-len不要设置过大,默认10ms,通常设置1ms
2. slowlog-log-slower-than不要设置过小,通常设置1000左右。
3.理解命令生命周期。
4.定期持久化慢查询。
三、pipeline流水线
注意点:
1、redis的命令时间是微妙级别,特别快的
2、pipeline每次条数要控制网络
为了解决N次网络的减少
建议:
1、注意每次pipeline 携带数据量
2、pipeline每次只能作用在一个redis节点上
四、发布订阅角色:
发布者(publisher)
订阅者(subscriber)
频道(channel)
发送命令:publisher channel message
订阅消息:subscriber [channel] #一个或多个
取消订阅:unsubscriber [channel] #一个或多个
发布订阅:发布频道消息之后,所有订阅的都可以收到信息
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)