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
3
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 *

浙公网安备 33010602011771号