Redis是什么
Redis(Remote Dictionary Server)即远程字典服务。是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。
redis端口号是6379,是手机键盘MERZ对应的数字,取自意大利歌女Alessia Merz的名字。
Redis使用场景
- 内存存储
- 高速缓存
- 可当消息队列使用,发布订阅系统
- 地图信息分析
- 计时器,计数器(浏览量)
- 。。。
Redis性能测试
菜鸟教程
性能测试一样要会看,命令应该在/usr/local/bin目录下执行。执行命令前需要打开redis的服务端。
Redis数据库选择
redis默认有16个数据库,可以使用select 命令来切换数据库
清除当前数据库:flushdb
清除所有数据库
被问的最多的Redis问题
redis为什么是单线程的
redis很快,官方表示Redis是基于内存操作,它的瓶颈不在cpu,在于机器的内存和网络带宽。既然可以使用单线程来实现就使用单线程了。
redis为什么这么快?
- 误区一:高性能的服务器一定是多线程的
- 误区二:多线程(cpu上下文会切换!)一定比单线程效率高
Redis是C语言写的,官方提供的数据为100000+的QPS,这个不比同样是key-value的Memecache差!
核心:redis是将所有的数据全部都放在内存中的,所以说使用单线程去操作效率就是最高的,多线程(cpu上下文会切换:耗时的操作!!!),对于内存系统来说,如果没有上下文切换下效率就是最高的!多次读写都是在一个cpu上的,在内存情况下,这个就是最佳方案!