Redis概述

82 阅读2分钟

本文已参与「新人创作礼」活动,一起开启掘金创作之路。

Redis是什么

Redis(Remote Dictionary Server)即远程字典服务。是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。

Redis端口号是6379?MERZ取自意大利歌女Alessia Merz的名字。

Redis使用场景

  1. 内存存储
  2. 高速缓存
  3. 可当消息队列使用,发布订阅系统
  4. 地图信息分析
  5. 计时器,计数器(浏览量)
  6. 。。。

Redis性能测试

菜鸟教程

Redis性能测试要会看,命令需要在bin目录下执行。执行命令前需要打开redis的服务端。

Redis数据库

redis默认有16个数据库,可以使用select 命令来切换数据库

清除当前数据库:flushdb

清除所有数据库

被问的最多的Redis问题

redis为什么是单线程的

redis很快,官方表示Redis是基于内存操作,它的瓶颈不在cpu,在于机器的内存和网络带宽。既然可以使用单线程来实现就使用单线程了。 ​

redis为什么这么快?

  1. 误区一:高性能的服务器一定是多线程的
  2. 误区二:多线程(cpu上下文会切换!)一定比单线程效率高

Redis是C语言写的,官方提供的数据为100000+的QPS,这个不比同样是key-value的Memecache差! ​

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

参考资料

  1. 狂神说Java
  2. Redis英文官网
  3. Resid中文官网