三.Redis基础
本文最后更新于:2021年11月11日 晚上
Redis基础
基础操作
- redis默认有16个数据库,在redis.conf中由
database 16
标识 - 默认使用第0个数据库,可以使用
select num
切换数据库 - 选择数据库后,使用命令
DBSIZE
可查看当前库中的数据量 keys *
,查看当前库中的所有key的nameflushdb
清除当前库;FLUSHALL
清空全部数据库内容EXIST [key-name]
,判断一个key是否存在,存在返回1,不存在返回0MOVE [key-name]
,移除一个keyset [key-name] [key-value]
,为一个key设置具体值get [key-name]
,获取key的具体值EXPIRE [key-name] [int]
,设置key的过期时间ttl [key-name]
,查询key当前的剩余时间,过期之后get的值为nultype [key-name]
,查看当前key的类型
Redis是单线程的
官方表示,Redis是基于内存操作,CPU不是Redis的性能瓶颈,Redis的瓶颈来源于机器的内存和网络带宽,既然可以使用单线程来实现,那就使用单线程。
Redis是由C编写,官方数据说明Redis的QPS可达到100000+,完全不比同样是KV存储的Memcached差。
Redis为什么单线程还这么快?
- 误区1:高性能的服务器一定是多线程的?
- 误区2:多线程(存在CPU上下文切换成本)一定比单线程效率高?
- 核心:Redis是将所有的数据全部放在内存中的,所以使用单线程去操作的效率就是最高的,多线程反而会由于CPU上下文切换产生耗时操作。对于内存系统来说,如果没有上下文切换,那效率就是最高的,多次读写都在一个CPU上,在数据保存在内存上是,单线程就是最佳方案!
本文作者: ziyikee
本文链接: https://ziyikee.fun/2021/11/10/Redis%E5%9F%BA%E7%A1%80/
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!