Redis基础知识:redis有16个数据库、redis是单线程的!

本文介绍了Redis如何利用单线程设计实现高效,通过内存操作优势避免CPU上下文切换,并详细讲解了数据库切换、数据清理与管理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、redis有16个数据库, 默认使用的是第0个,使用select切换数据库

查看redis配置信息:
在这里插入图片描述
可以看到有16个数据库:
在这里插入图片描述
默认使用第0个数据库,使用客户端连接之后,可以使用select命令,切换数据库:
在这里插入图片描述
redis各个数据库保存的值互不干扰,其他数据库看不到
在这里插入图片描述
查看改数据库的所有值:keys *
清除数据库:flushdb
清空整个 Redis 服务器的数据(删除所有数据库的所有 key ):Flushall

127.0.0.1:6379[5]> keys * #查看所有值
1) "name"
2) "pwd"
127.0.0.1:6379[5]> flushdb  # 清除当前数据库所有值
OK
127.0.0.1:6379[5]> keys *
(empty array)
127.0.0.1:6379[5]> 
2、Redis是单线程的!

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

Redis是C语言写的,官方提供的数据为100000+的QPS(每秒查询率),完全不比同样是使用key-vale的Memecache差!

Redis为什么单线程还这么快?
1、redis是纯内存操作,执行速度非常快

2、采用单线程,避免不必要的上下文切换导致的性能损耗,而且多线程要保证线程安全的问题,还要考虑加各自读写锁,反而可能会影响性能损耗

3、redis使用I/O多路复用模型,非阻塞IO
redis的性能瓶颈并不是执行速度,而是网络延迟,I/O多路复用模型主要就是实现了高效的网络请求

CPU>内存>硬盘的速度要有所了解:
内存的存取速度远高于硬盘的存取速度,而CPU内高速存储器的存取速度更是远高于内存的存取速度。

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值