来源参考,b站狂神说:https://space.bilibili.com/95256449
概述
Redis 是什么?
Redis(Remote Dictionary Server ),即远程字典服务 !
是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,
并提供多种语言的API。
redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并且在此基础上实现了
master-slave(主从)同步。
免费和开源!是当下最热门的 NoSQL 技术之一!也被人们称之为结构化数据库!
Redis 能干嘛?
1、内存存储、持久化,内存中是断电即失、所以说持久化很重要(rdb、aof)
2、效率高,可以用于高速缓存
3、发布订阅系统
4、地图信息分析
5、计时器、计数器(浏览量!)
6、…
特性
1、多样的数据类型
2、持久化
3、集群
4、事务
5、…
安装
Windows安装(不建议)
1、下载安装包:https://github.com/dmajkic/redis/releases
2、下载完毕得到压缩包:
3、解压到自己电脑上的环境目录下的就可以的!Redis 十分的小,只有5M
4、开启Redis,双击运行服务即可!
5、使用redis客户单来来连接redis
Linux安装
1、下载安装包!
2、解压Redis的安装包! 程序/opt
3、进入解压后的文件,可以看到我们redis的配置文件
4、基本的环境安装
yum install gcc-c++
make
make install
5、redis的默认安装路径 /usr/local/bin
6、将redis配置文件。复制到我们当前目录下
7、redis默认不是后台启动的,修改配置文件!
8、启动Redis服务!
9、使用redis-cli 进行连接测试!
10、查看redis的进程是否开启!
11、如何关闭Redis服务呢? shutdown
基础的知识
redis默认有16个数据库
默认使用的是第0个
可以使用 select 进行切换数据库!
127.0.0.1:6379> select 3 # 切换数据库
OK
127.0.0.1:6379[3]> DBSIZE # 查看DB大小!
(integer) 0
127.0.0.1:6379[3]> keys * # 查看数据库所有的key
1) "name"
清除当前数据库 flushdb
清除全部数据库的内容 FLUSHALL
127.0.0.1:6379[3]> flushdb
OK
127.0.0.1:6379[3]> keys *
(empty list or set)
Redis 是单线程的!
明白Redis是很快的,官方表示,Redis是基于内存操作,CPU不是Redis性能瓶颈,Redis的瓶颈是根据
机器的内存和网络带宽,既然可以使用单线程来实现,就使用单线程了!所有就使用了单线程了!
Redis 是C 语言写的,官方提供的数据为 100000+ 的QPS,完全不比同样是使用 key-vale的
Memecache差!
Redis 为什么单线程还这么快?
1、误区1:高性能的服务器一定是多线程的?
2、误区2:多线程(CPU上下文会切换!)一定比单线程效率高!
先去CPU>内存>硬盘的速度要有所了解!
核心:redis 是将所有的数据全部放在内存中的,所以说使用单线程去操作效率就是最高的,多线程
(CPU上下文会切换:耗时的操作!!!),对于内存系统来说,如果没有上下文切换效率就是最高
的!多次读写都是在一个CPU上的,在内存情况下,这个就是最佳的方案!