redis快的因素

1纯内存访问

2IO复用

3单线程避免了线程切换和竟态产生的消耗

一 常用命令

mset a 1 b 2批量设置键值,mget a b获取 同样1000键值速度比set快10倍,仅0.1秒左右。

exists a 判断是否存在

flushall 清空所有数据库数据 flushdb  清除当前数据库

incr a a值自增1  decr 自减

append a 2  追加2 结果为12

strlen   a  字串长

setrange a 0 2 将第一个数字变为2 结果22

del  a 删除  

dbsize 键总数

key *

redis -r 5 -i  1 ping  间隔1秒ping5次  -a  配置密码时不需手动输入 auth   --stat状态查询,比info 信息少些 --raw 格式化 --no-row不格式话

redis-server  --test-memory  检测系统是否能稳定分配指定内存给redis 

redis-benchamrk  -c 100 -n 2000  -r 10000 100客户端同时请求,执行2000次 ,-r插入随机键  可以用性能压测。

 

 

二优化

1慢查询优化

redis 是单线程架构,所以要求每个命令都能快速完成

慢查询参数 slowlog-log-slower-than 默认10000微秒=10毫秒=0.01秒

slowlog-max-len 慢查询列表最大长度默认128 达到最大长度时,覆盖最先插入慢查询命令

临时变变参数 :config set slowlog-log-slower-than 20000

将参数写入配置文件  config rewrite 

慢查询日志获取 

slowlog get 

Redis 查询键值 redis快速查询_单线程

分别为慢查询日志标识ID 发生时间戳 命令耗时 执行命令和参数

slowlog len 慢查询日志条数

slowlog reset 清理

slowlog-max-len 不会占用太大内存,线上可以1000以上

slowlog-log-slower-than 默认10毫秒,高流量1毫秒以上支撑OPS不到1000,高并发可以设置1毫秒以下

 

坚持到无能为力,拼搏到感动自己