Redis的一些小尝试

1.redis关闭 
redis-cli -h 127.0.0.1 -p 6379 shutdown

查看redis的进程:ps -ef | grep redis

或者在客户端关闭:redis 127.0.0.1:6379> SHUTDOWN

2.redis启动服务端

redis-server &

3.redis启动客户端

./redis-cli

这时应该在client端运行PING命令时候看到:

redis 127.0.0.1:6379> PING

PONG

4.慢查询指令

>config set slowlog-log-slower-than 10000

把查询大于10ms的指令存到log里面 高并发建议1ms

也可以通过redis.conf修改

>slowlog get

>slowlog len //长度

>slowlog reset //重置

log是先进先出队列 出列即丢失 需要定期slowlog get

5.redis性能 压测:

只测试set get性能: $ redis-benchmark -h 192.168.42.111 -p 6379 -t set,get -n 100000 -q

6. SafeEncoder.encode(key or value)
str.getBytes("UTF-8")  //把key变成字节流
sendCommand: 先connect (socket连接)
Jedis(socket) ---->---- Redis(server socket)     通过socket套接字tcp连接
抓包 6379port
RESP协议:
*3
$3
SET
$11
lisonLength
$1
 
Set lisonLength 3 三组数据 加上字符数
 
7.In Mac:

Find pid: Terminal: lsof -i:<port>

eg. >lsof -i: 6379
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
redis-ser 90644 wangboyuan 6u IPv6 0xe25655ee8e7595b 0t0 TCP *:6379 (LISTEN)
redis-ser 90644 wangboyuan 7u IPv4 0xe25655f2072e60b 0t0 TCP *:6379 (LISTEN)
 
 
 8.将sql数据导入到redis
连接到数据库
$ mysql -utest -p
查询sql 
> use stress 
>select count(0) from 'order' 
得到结果集 导入redis
登录连接到redis $ ./clien-cli -h 192... -p 6379 -a 123456
使用pipe管道导进去
$ mysql -utest -ptest stress --default-character-set=utf8 --skip-column-names --raw < order.sql | redis-cli -h 192.168.42.111 -p 6379 -a 123456 --pipe
 
查看redis所有 >redis *
 
 
 
 
 

 

 

posted @ 2020-02-13 15:17  YBgnAW  阅读(146)  评论(0)    收藏  举报