redis 小功能大用处

本文介绍了Redis的慢查询日志功能,包括设置阈值和获取日志,以及如何使用redis-cli进行各种操作,如内存检测、网络延迟监测、事务和lua脚本的使用。同时,文章还探讨了Redis的数据结构,如Bitmaps和HyperLogLog的内存优化特性,以及GEO定位功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

慢查询日志分析

redis提供了慢查询日志功能,会计算每条命令的执行时间,超过阈值后记录下来,注意计算的是命令的执行时间,不包含网络传输和排队时间。
config get slowlog-log-slower-than获取操作超时的阈值,我的版本默认是10 000微秒,即10毫秒
config get slowlog-max-len 获取慢查询日志最多存储条数,默认128条,超过会循环覆盖

通过slowlog get n来获取慢查询日志,返回日志id,时间戳,命令耗时,命令详情,可以定时存储到持久化数据库制作可视化界面,cachecloud已经提供这样的功能。
slowlog len获取列表长度,slowlog reset重置清理

redis shell命令

redis-cli命令
redis-cli -r 3 -i 1 ping 执行三次命令,每隔1秒执行一次
redis-cli -r 100 -i 1 info | grep used_memory_human每隔一秒输出内存的使用量,一共输出100次

-a 输入密码
–slave将当前客户端模拟成当前redis节点的从节点,可以用来获取当前redis节点的所有操作
–bigkeys 利用scan命令对key进行采样,找出内存占用比较大的键值
–latency --latency-history --latency-dist来检测网络延迟,对于运维挺有用
–stat和info一样返回redis的统计信息
–raw和–no-row不同,会返回格式化后的信息,如中文

redis-benchmark
用来做基准性能测试
redis-benchmark -c 100 -n 20000 -c代表客户端的并发数量,-n代表客户端请求总量
-r会在key,counter键后加一个12位的后缀, -r 10000 不代表随机数的个数,而表示只对后四位做随机处理,
-t可以对指定命令做基准测试 --csv导出

事务和lua脚本

redis事务介绍

  • 服务端在事务的执行过程中,不会被其他客户端发送来的命令请求所打断
  • multi开启事务,之后的命令会放到一个队列里,直到执行exec命令。discard清空事务队列, 并放弃执行事务。
  • 如果事务中的某些命令出现错误,事务中的其他命令仍然会继续执行,整个事务不会回滚;但如果是语法错误,在入队列时就会被发现。
  • redis乐观锁。被 WATCH 的键会被监视,并会发觉这些键是否被改动过了。 如果有至少一个被监视的键在 EXEC 执行之前被修改了, 那么整个事务都会被取消, EXEC 返回nil-reply来表示事务已经失败。

lua脚本在redis中是原子执行的,不会插入其他命令,并且可以利用lua定制自己的命令实现复用,打包多条命令也减少了多次命令的网络开销。

数据结构

Bitmaps
redis提供了Bitmaps的数据结构,实际上就是一列由0和1组成的二进制字符串,可以按位进行操作。最大的好处就是可以节省内存。
比如可以把用户是否访问过网站记录到列表中,访问过就记为1,偏移量就是用户id,setbit unique:users:2016-04-05 5 1;也支持并集交集如求两天都访问过网站的用户等

HyperLogLog
基于基数算法,利用极小的内存空间来完成独立总数的统计,
pfadd 2016-03-06:unique:ips "ip1" "ip2" "ip3" 会自动去重,比使用set节省很多内存
pfcount 2016-03-06:unique:ips 获得独立的ip数总数,也可以 pfmerge进行合并。注意虽然占用内存小,但是存在一定的错误率

GEO
redis提供了GEO地理信息定位功能,支持存储经纬度地理信息,可以实现附近人,某位置一定半径内地理位置的集合,两个地理位置的距离等功能

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值