Redis 介绍
1 数据库的类型
关系型:以表关联存储的数据库
例:mysql,oracle,db2,postgresql,sqlite,sqlserver,国产:达梦
非关系型(又称nosql):以文档型存储或key-value存储的数据库
例:redis,mongodb,es
2 Redis 简单介绍
# redis:key-value存储的数据库 纯内存操作 性能很高
-5大数据类型:string(字符串)、list(列表)、set(集合)、zset(sorted set --有序集合)和hash(哈希类型,也称字典) (必须记住这五大类型)
str:接口缓存,list:分布式,hash:缓存,set:去重,zset:排行榜
-内存存储,都在内存中,重启就没了(没有做持久化)
-用途:缓存,计数器,验证码,geo地理位置信息(例附近的人),发布订阅,独立用户统计(例:统计日活-日活跃用户)
-c/s架构:客户端服务端软件,支持多种客户端(python,go,java)
-redis:c语言写的开源软件,不支持windows
# -性能很高,io多路复用(面试常问),epoll模型,官方不支持windows
-redis最新版:6.x,6.x之前是单线程模型
-单进程,单线程
-10w qps(每秒查询率)
# -redis是单进程,单线程为什么这么快?
-纯内存操作,io小(最重要)
-使用了IO多路复用的模型
-单进程单线程,避免了进程线程间的切换 # 6.0之前是
# 使用Redis有哪些好处?
1.速度快,因为数据存在内存中,类似于HashMap,HashMap的优势就是查找和操作的时间复杂度都是O(1)
2.支持丰富数据类型,支持string,list,set,sorted set,hash
3.支持事务,操作都是原子性,所谓的原子性就是对数据的更改要么全部执行,要么全部不执行
4.丰富的特性:可用于缓存,消息,按key设置过期时间,过期后将会自动删除
3 Redis 安装
# 安装
官方提供了源码 c语言编写,需要编译安装
编译型语言,如果要执行,需要在不同平台中编译成不同平台的可执行文件
-在linux装,先使用gcc编译,编译成可执行文件,就可以运行
-win:不支持win,使用第三方已经在windows上编译好了(5.x和3.x)
-第三方版本 (redis安装到windows)
-https://github.com/microsoftarchive/redis/releases
-https://github.com/tporadowski/redis/releases/
# 一路下一步安装 # 注意:勾选添加环境变量 和 内存使用大小
# 监听的端口是:6379
# 服务端启动
-win上会自动做成服务,自动启动
-或使用命令启动服务端
-redis-server.exe
-redis-server.exe 配置文件路径 # 例:redis.windows-service.conf
# 客户端连接
-客户端连接
-redis-cli -h 127.0.0.1 -p 6379
-python代码连接
-图形化客户端连接:很多
-redis-desktop-manager: 一路下一步
-连接本地,也可以连远端
# 拓展
# QT:是一个c/s架构的图形化平台
-使用c/C++语言在QT平台上开发----》图形化界面软件(GUI)
-pyqt:在qt平台上使用python代码写图形化界面
-Tkinter模块--Python
-swing模块--Java
# django 2.0.7以后,连接mysql数据库
-若使用pymysql连mysql,源码不兼容,需要添加两句代源码
-若使用mysqlclient,什么都不用配,直接用,不需要改源码