redis的附加功能
阅读数:54 评论数:0
跳转到新版页面分类
应用软件
正文
一、慢查询
慢查询日志帮助开发和运维人员定位系统存在的慢操作。慢查询日志就是系统在命令执行前后计算每条命令的执行时间,当超过预设阀值,就将这条命令的相关信息(慢查询ID,发生时间戳,耗时,命令的详细信息)记录下来。
慢查询只记录命令执行时间,并不包括命令排队时间和网络传输时间
1、相关配置参数
slowlog-log-slower-than |
单位是ms,默认值是1000 小于0 ,则任何命令都不会记录日志 |
showlog-max-len | 了慢查询日志最多存储多少条 |
2、配置命令
#获取慢查询日志
show get[n]
#获取慢查询日志列表当前长度
showlog len
#慢查询日志重置
showlog reset
二、pipeline
管道(pipeline)可以一次性发送多条命令并在执行完后一次性将结果返回,pipeline通过减少客户端与redis的通信次数来实现降低往返延时时间。
三、事务和lua脚本
redis提供了简单的事务功能,将一组需要的命令放到multi和exec两个命令之间,multi代表事务开始,exec代码事务结束。
事务开始 | multi |
事务结束 | exec |
事务乐观锁 | watch |
事务停止 | discard |
1、lua脚本
将Lua脚本加载到redis内存中 | script load script |
是否将sha1加载到redis内存中 | scripts exists sh1 [sha1 ...] |
清除加载到redis内存中的所有Lua脚本 | script flush |
用于杀掉正在执行的Lua脚本 | script kill |
四、发布订阅
Redis提供了发布订阅功能,可以用于消息的传输,Redis的发布订阅机制包括三个部分,发布者,订阅者和Channel。
1、基本命令
发布消息 | publish channel message |
订阅消息 | subscribe channel [channel ...] |
取消消息 | unsubscribe channel [channel ...] |
按照模式订阅和取消订阅 | psubscribe pattern [pattern...] |
punsubscribe pattern [pattern...] | |
查看活跃频道 | pubsub channels [pattern] |
查看频道订阅数 | pubsub numsub [channel ...] |
查看模式订阅数 | pubsub numspat |
五、geo地理信息
增加地理位置信息 | geoadd key longitude latitude member [longitude latitude member ...] |
获取地理位置信息 | geopos key member [member ...] |
获取两个地理位置的距离 |
geodist key member1 member2 [unit] ---unit代表返回单位:m km mi ft |
获取指定位置范围内地理信息位置信息 | georadius key longitude latitude radiusm|km|ft|mi [withcoord] [withdist] [withhash] [COUNT count] [asc|desc] [store key] [storedist key] |
georadiusbymember key memeber radiusm|km|ft|mi [withcoord] [withdist] [withhash] [COUNT count] [asc|desc] [store key] [storedist key] | |
获取geohash | geohash key member [member ...] |
删除地理位置信息 | zrem key member |
相关推荐
一、redis-cli
redis-cli,这个命令将打开redis终端。输入ping命令,如果有pong响应,说明正常启动。
用法:redis-cli [OPTIONS] [cmd [arg [ar
protected-mode是为了禁止公网访问redis,加强redis安全的。它启用的条件,有两个:
(1)没有bind IP
(2)没有设置访问密码。
<
一、单机模式
1、优点
(1)部署简单
(2)成本低
(3)高性能,因为不需要同步数据
2、缺点
(1)可靠性差
二、主从复制模式
主从模式配置很简单,只需要在从节点配置主节点的ip和端口号即可。
在集群模式下,redis在接收到键任何命令时会先计算该键所在的槽,如果改键所在的槽位于当前节点,则直接执行命令,如果改键位于其它节点,则不执行该命令,返回重定向信息。比如hello这
1、sentinel不会存储数据。
2、客户端不会直接从redis中获取信息,而是从sentinel获取信息。
3、sentinel的默认端口是26379
<
redis-cli keys "s*" | xargs redis-cli del
另外还可以用-n指定操作的数据库编号
redis-cli -n 2 keys "s*" | xargs redis-
1、官方文档
The timeout will only be cleared by commands that delete or overwrite the contents of the key