redis简介

测试redis性能

redis-benchmark是一个官方自带的压力测试工具

redis-benchmark命令参数!

图片来自菜鸟教程:

image-20200519094303684

redis-benchmark -c 100 -n 100000

基础的知识

redis默认有16个数据库

image-20200519101106164

默认使用的是第0个 可以使用 select 进行切换数据库!

127.0.0.1:6379> select 3 # 切换数据库
OK
127.0.0.1:6379[3]> DBSIZE # 查看DB大小!
(integer) 0
127.0.0.1:6379[3]> keys * # 查看数据库所有的key
1) "name"

清除当前数据库 flushdb 清除全部数据库的内容 FLUSHALL

127.0.0.1:6379[3]> flushdb
OK
127.0.0.1:6379[3]> keys *
(empty list or set)

Redis 是单线程的!

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

Redis 是C 语言写的,官方提供的数据为 100000+ 的QPS,完全不比同样是使用 key-vale的 Memecache差! Redis 为什么单线程还这么快?

  1. 误区1:高性能的服务器一定是多线程的?

  2. 误区2:多线程(CPU上下文会切换!)一定比单线程效率高!

    核心:redis 是将所有的数据全部放在内存中的,所以说使用单线程去操作效率就是最高的,多线程 (CPU上下文会切换:耗时的操作!!!),对于内存系统来说,如果没有上下文切换效率就是最高 的!多次读写都是在一个CPU上的,在内存情况下,这个就是最佳的方案!

posted @ 2020-08-19 11:47  Maple_XL  阅读(103)  评论(0编辑  收藏  举报