本文是自己的学习笔记。主要参考资料如下:
马士兵
1、启动连接Redis
找到redis的安装目录,我在mac下用brew安装,默认安装路径是/usr/local/Cellar/redis/5.0.6
,不过我们到/usr/local/etc
目录下也可以使用redis的一些命令(似乎brew安装的工具都可以在这个目录下统一使用,只是猜测,没验证)。到上面的目录下使用redis-server
即可启动redis。
启动redis后,因为连的是本机的redis,所以可以使用redis-cli -p 6379
连接到redis,其中6379是redis的默认端口号。
我们可以随时使用ps -ef|grep redis
来查看redis的连接状态。下图中可以看到redis的client和server都启动了。
在redis的命令状态下,我们可以使用shutdown
直接关闭redis服务。
2、使用redis自带的压测工具测试
在redis的安装目录下下有redis的自带压测工具redis-benchmark
,该工具简单好用。下面是菜鸟教程里的一些命令。
比如我们想要测试本机性能,发出100000条请求,最大并行数100,可以使用这个命令redis-benchmark -h localhost -p 6379 -c 100 -n 100000
。测试的部分结果如下
其中的HSET,SPOP和LPUSH是具体命令,表示我们的模拟测试发出了100000条这样的命令,上面是单独使用这些命令的测试结果。
100000 requests completed in 0.77 seconds
比较容易理解,翻译就表明100000条指令在0.77s内就全部执行完成。
100 parallel clients
则表示并行数量。
3 bytes payload
表示每次传输3字节数据。
keep alive: 1
则表示只用一台服务器在处理这些请求。
99.94% <= 1 milliseconds
则表示1毫秒内就处理100000条请求中的99.94%。
130208.34 requests per second
表示平均每秒处理的请求数。
3、redis基础知识
redis默认有16个数据库,我们可以打开redis的配置文件redis.conf,在186行的位置设置了redis的数据库个数。
系统默认使用第0个数据库,我们也可以使用select [index]
来切换数据库。比如我们想要切换到第3个数据库就可以使用select 2
命令。切换后可以看到我们指令的前缀多出来数据库的索引,表示我们切换到了第几个数据库。
当我们切换数据库时,在原来数据库中保存的数据不会被清除,等之后我们切回来之后还是可以取到我们之前存入的数据。看下面的演示。
redis是基于内存操作的,也就是说redis的所有数据都是存储在内存中,所以它的读写速度非常快。同时它的瓶颈不是CPU而是根据机器的内存和网络带宽,既然可以使用单线程实现就没必要使用多线程。不过在redis6.0之后的版本已经开始支持多线程了。