文章目录
- Redis的基础知识
-
- 一些基本命令
- Redis的执行效率为什么那么快?以及为什么Redis是单线程的?
Redis的基础知识
一些基本命令
redis默认有16个数据库,在redis.conf配置文件中可以看到,如下图:
默认使用的是第0个,可以使用select切换数据库!如下图:
set命令可以存储键格式set key value,get命令可以取出指定的键对应的值格式get key,如下图:
dbsize命令可以查看当前数据库的大小,也即是当前数据库里面存放了多少条数据,如下图:
keys * 命令可以查看所有的key,如下图:
flushdb命令:清空当前数据库,flushall命令:清空所有数据库,如下图:
exists key [key2…]命令判断是否有指定的键存在,如下图:
Redis的执行效率为什么那么快?以及为什么Redis是单线程的?
Redis是单线程的!Redis是用C语言写的!关于redis的性能,官方网站也有,普通笔记本轻松处理每秒几十万的请求。
Redis为什么是单线程的?因为Redis是基于内存的操作,CPU不是Redis的瓶颈,Redis的瓶颈最有可能是机器内存的大小或者网络带宽。既然单线程容易实现,而且CPU不会成为瓶颈,那就顺理成章地采用单线程的方案了。
Redis为什么单线程还这么快?
1.redis是基于内存的,内存的读写速度非常快;
2.redis是单线程的,省去了很多CPU上下文切换线程的时间;
3.多线程并不一定比单线程快;
核心:redis将所有的数据都存放到了内存中,CPU不需要切换线程,redis的操作效率的快慢与CPU没关系,与内存大小有关系,单线程CPU不必切换上下文,而多线程CPU需要切换上下文,多线程CPU切换上下文还比较耗时,所以说redis就自然而然的使用了单线程。