1.Redis概述
Redis是什么
1.Redis(Remote Dictionary Service):远程字典服务。
开源的、C语言编写的、key-value数据库、提供多种语言的API。
热门的NoSQL技术之一,被称之为结构化数据库。可以用作数据库、缓存、消息中间件MQ。
Redis作用
- 内存存储、持久化(内存是断电即失的,所以持久化很重要。数据库持久化:rdb、aof)
- 效率高、可用于高速缓存
- 发布订阅系统
- 地图信息分析
- 计时器、计数器(如记录浏览量)
- 。。。
特性
- 多样的数据类型
- 持久化
- 集群
- 事务
- 。。。
学习中需要用到的东西
1.官网
2.中文网
3.下载地址:通过官网下载(注意,windows版本在Github上下载 (停更很久了,因为官方不建议在windows上使用))
4.使用
1 | # 在在redis-service目录下,新建myconfig文件夹 |
5.一些基本命令
1 | # 查看redis进程是否开启 |
2.目录下的文件
redis-cli:客户端
redis-server:Redis服务
redis-benchmark:压力测试工具
redis.config:配置文件
3.Redis基础
1.win下启动Redis服务: Redis路径下输入: redis-server redis.windows.conf
2.Redis默认有16个数据库(在配置文件中有:databases 16)
- 默认使用的是第0个数据库。
3.redis命令不区分大小写。
4.其他命令
1 | # 在Redis客户端 切换数据库 (如切换到第三个) |
Redis是单线程的
1.Redis是很快的,官方表示,Redis是基于内存操作的,CPU不是Redis的性能瓶颈(多线程与cpu有关)。
Redis瓶颈是根据机器的内存与网络带宽决定的。既然可以使用单线程实现,所以就使用了单线程了。
2.为什么单线程还这么快?
- 记住:高性能的服务器不一定是多线程的,多线程不一定比单线程效率高(多线程需要cpu上下文切换,这是耗时的操作)。
- 核心:Redis是将全部的数据都放在内存中的,所以使用单线程操作 效率就是高(没有上下文切换)。多次读写都是在一个cpu上的,在内存情况下,这个就是最佳方案。