您的位置:首页 > 数据库 > Redis

日常工作经常使用到的脚本或技术

2016-10-25 22:07 357 查看
使用shell 分析api请求日志:
日志格式如下:
end---url:/card/comment/list,params:,body:{"common":{"uid":"238432483","platform":"Android","height":1920,"width":1080,
"device":"R8107","app_version":"1005091802","pid":"5115","language":"CN","identifier":"865920024222872","os_version":"19"},
"params":{"page_cursor":"eyJtaW5JZCI6NzYyNzc5LCJtYXhJZCI6NzYyNzc5LCJtaW5DcmVhdGVUaW1lIjoxNDc3MzUyNDc2MTEyLCJtYXhDcmVhdGVUaW1lIjoxNDc3MzUyNDc2MTEyfQ==",
"feed_id":916283,"page_length":20,"page_past":1}},time:1477403799099,花费时间:3ms

查询超过1秒的请求日志。
tail -f statistics1.log | egrep "[1-9][0-9]{3,}"ms   实时

统计日志当中某个接口的请求次数:
grep -o 'recommendV2' statistics1.log | wc -l

redis导出key到文件当中: echo "keys feed*" | redis-cli -h host -p port -a password >>2.txt
使用redis 协议来删除key:
命令:
echo -e "$(cat $file)"|/usr/local/moji/redis/bin/redis-cli -a passwd -h host -p 6592 --pipe

需要使用unix2dos $file 先将file转码

file格式如下:
*2\r\n$3\r\ndel\r\n$19\r\nftr:hash:20160923:4\r\n

(+) 表示一个正确的状态信息,具体信息是当前行+后面的字符。

(-) 表示一个错误信息,具体信息是当前行-后面的字符。

(*) 表示消息体总共有多少行,不包括当前行,*后面是具体的行数。

($) 表示下一行数据长度,不包括换行符长度\r\n,$后面则是对应的长度的数据。

(:) 表示返回一个数值,:后面是相应的数字节符。


修改数据库字符集,以支持表情字符:
alter table article convert to character set utf8mb4 collate utf8mb4_bin;

alter table article_comment convert to character set utf8mb4 collate utf8mb4_bin;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息