Redis的基本知识说明

HeJin大约 2 分钟数据库技术Redis

Redis数据库

Redis默认有16个数据库。

image-20201228162523445
image-20201228162523445

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

127.0.0.1:6379> select 3	# 切换数据库
OK
127.0.0.1:6379[3]> DBSIZE	# 查看DB大小
(integer) 0
image-20201228162919079
image-20201228162919079

查看数据库所有的key。keys *

127.0.0.1:6379[3]> keys *
1) "name"
127.0.0.1:6379[3]>

清空当前数据库。flushdb

127.0.0.1:6379[3]> flushdb
OK
127.0.0.1:6379[3]> keys *
(empty array)

清空全部数据库。flushall

为什么Redis端口号是6379

https://www.zhihu.com/question/20084750open in new window

到了给 Redis 选择一个数字作为默认端口号时,Antirez 没有多想,把 "MERZ" 在手机键盘上对应的数字 6379 拿来用了。

Redis是单线程-6.0之前

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

Redis为什么单线程还这么快?

Redis是C语言写的。官方提供的数据为 100000+的QPS。完全不比同样是使用key-value的Memecache差!

误区

1、高性能的服务器一定是多线程的?

2、多线程(CPU上下文切换)一定比单线程效率高?

CPU、内存、硬盘的速度要有所了解!

核心

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

Redis 6.0

https://blog.csdn.net/qq_18298439/article/details/106019983open in new window