Redis基础—二、基本知识及benchmark性能测试

Redis基础—二、基本知识及benchmark性能测试

一、benchmark性能测试

redis可以使用benchMark进行基本的性能测试,其基本命令如下:

redis-benchmark [option] [option value]

Redis基础—二、基本知识及benchmark性能测试_第1张图片

redis-benchmark -c 100 -n 100000             #指定并发连接数为100,请求数为10万

我们以set请求为例:

Redis基础—二、基本知识及benchmark性能测试_第2张图片

所以看来redis还是很快的!

二、基本知识

redis其实默认有16个数据库

image-20201117170959723

默认使用的是第0个,我们可以通过select命令进行切换。

127.0.0.1:6379> select 1                   #切换到第一个
OK

可以通过dbsize命令查看数据库大小

127.0.0.1:6379[1]> dbsize           #查看数据库大小
(integer) 0
127.0.0.1:6379[1]> set name jj     #设置进去jj
OK
127.0.0.1:6379[1]> dbsize          #再查看一下!
(integer) 1

还有一些常用的指令。

keys * # 查看当前数据库所有的key

flushdb  # 清空当前库

flushall # 清空所有数据库

redis是单线程的

redis是很快的,官方表示,redis是基于内存操作的,cpu不是redis的性能瓶颈,redis的瓶颈是根据机器的内存和网络带宽,既然可以使用单线程来实现,那就使用了单线程了!所以就使用了单线程,

Redis是由c语言写的,官方提供的数据为 100000+的QPS,说明这个完全不比memecache差!

Redis 为什么单线程还更快?

  1. 误区:高性能的服务器一定是多线程的?
  2. 误区:多线程一定比单线程效率高(上下文切换会影响速度)

核心:redis是将所有的数据全部放在内存里面的,所以说使用单线程操作效率就是最高的(CPU上下文切换是一个耗时的操作)

对于内存系统来说,如果没有上下文切换,效率就是最高的!多次读写都是在一个cpu上的,在内存情况下,这个就是最佳的方案

你可能感兴趣的:(Redis,redis)