本系列根据狂神说Redis写下笔记以供复习
B站狂神说Redis!:https://www.bilibili.com/video/BV1S54y1R7SB
redis是啥???
Redis(Remote Dictionary Server ),即远程字典服务。
是一个开源的使用ANSIC语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。
与memcached一样,为了保证效率,数据都是缓存在内存中。区别的是redis会周期性的把更新的数据写入磁盘(RDB)或者把修改操作写入追加的记录文件(AOF),并且在此基础上实现了master-slave(主从)同步。
redis 能干啥???
- 内存存储、持久化,内存是断电即失的,所以需要持久化(RDB、AOF)
- 高效率、用于高速缓冲
- 发布订阅系统
- 地图信息分析
- 计时器、计数器(eg:浏览量)
redis有哪些特性???
- 多样的数据类型
- 持久化
- 集群
- 事务
在redis官网中下载安装包: redis-7.0.4.tar.gz
下载解压完之后Xftp放到home/cangjian中
然后移动到opt目录下 mv redis-7.0.4 /opt
[root@chenmou cangjian]# cd /opt [root@chenmou opt]# ls redis-7.0.4 [root@chenmou opt]# cd redis-7.0.4/ [root@chenmou redis-7.0.4]# ls 00-RELEASENOTES Makefile runtest-sentinel BUGS MANIFESTO SECURITY.md CODE_OF_CONDUCT.md README.md sentinel.conf CONTRIBUTING.md redis.conf src COPYING runtest tests deps runtest-cluster INSTALL runtest-moduleapi [root@chenmou redis-7.0.4]# yum install gcc-c++ #基本的环境安装 redis 底层是c++ [root@chenmou redis-7.0.4]# gcc -v [root@chenmou redis-7.0.4]# make
×××
还在这样安装?????!!!!
大怨种!!!!大傻叉!!!!
宝塔装来干嘛的!!!!
直接宝塔安装!!!!!!
完事儿!
ps:
Emm 宝塔面板安装Redis的路径大多在 /www/server/redis ,可以在该路径下的redis.conf文件中修改Redis设置!
判断redis服务是否启动:
ps -ef|grep redis 出现6379 为 启动成功!
连接redis:
redis-cli -p 6379 (默认端口)
测试: ping
pong 成功!
关闭redis:shutdown 然后 exit
基础知识keys:查看当前数据库中所有的key。
flushdb:清空当前数据库中的键值对。
flushall:清空所有数据库的键值对。
Redis是单线程的,Redis是基于内存操作的。
所以Redis的性能瓶颈不是CPU,而是机器内存和网络带宽。
那么为什么Redis的速度如此快呢,性能这么高呢?QPS达到10W+
Redis为什么单线程还这么快?
误区1:高性能的服务器一定是多线程的?
误区2:多线程(CPU上下文会切换!)一定比单线程效率高!
核心:Redis是将所有的数据放在内存中的,所以说使用单线程去操作效率就是最高的,多线程(CPU上下文会切换:耗时的操作!),对于内存系统来说,如果没有上下文切换效率就是最高的,多次读写都是在一个CPU上的,在内存存储数据情况下,单线程就是最佳的方案。