Redis的基础知识

Posted 杀手不太冷!

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Redis的基础知识相关的知识,希望对你有一定的参考价值。

文章目录

Redis的基础知识

一些基本命令

redis默认有16个数据库,在redis.conf配置文件中可以看到,如下图:

默认使用的是第0个,可以使用select切换数据库!如下图:

set命令可以存储键格式set key value,get命令可以取出指定的键对应的值格式get key,如下图:


mset命令可以一次性的设置多个键值对,如下图:

get命令可以获取指定的key所对应的值,如下图:

mget命令可以批量的获取key对应的值,如下图:

getset key 新值:此命令可以用来先获取指定key的值,然后再更新这个key的值,如下图:

dbsize命令可以查看当前数据库的大小,也即是当前数据库里面存放了多少条数据,如下图:

keys * 命令可以查看所有的key,如下图:

flushdb命令:清空当前数据库,flushall命令:清空所有数据库,如下图:

exists key [key2…]命令判断是否有指定的键存在,如下图:


del key [key2…]命令删除指定的键,如下图:

move key db命令把当前数据库中指定的键移动到指定的数据库中,如下图:

expire key 时间单位秒 和 tll key 这两个命令的使用,如下图:

pexpire key 时间单位是毫秒 和 ptll key 这两个命令的使用和上面的expire和tll是相同的,只不过这里的单位是毫秒。

type key此命令可以输出指定key的类型,如下图:

在哪里可以查看redis的所有命令?reids的官网,如下图:

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就自然而然的使用了单线程。

以上是关于Redis的基础知识的主要内容,如果未能解决你的问题,请参考以下文章

Redis单节点部署

快慢指针---不就是快指针走两步慢指针走一步嘛?

单链表反转,快慢指针解决链表的常见问题

相同执行计划,为何有执行快慢的差别

Redis RDB 和 AOF 对比,恢复优先级

Redis RDB 和 AOF 对比,恢复优先级