redis介绍,安装
redis介绍,安装
redis
是什么
特点:存数据的地方,cs架构,数据库,开源软件
1 是一个软件(用c语言写的,初级版本代码只有1w多行 7.x,公司 5.x,4.x多)
2 非关系型(mysql关系型数据库;没有外键关联关系)数据 库,nosql(not only sql)数据库,
3 数据都放在内存中(读写速度超级快--》每秒的qps 10w)
4 key-value形式存储
5 有5大数据类型(字符串,list,hash(字典),集合,有序集合)
redis 好处
(1) 速度快,因为数据存在内存中,类似于python的字典的优势就是查找和操作的速度快
(2) 支持丰富数据类型,支持string,list,set,sorted set,hash
(3) 支持事务,操作都是原子性,所谓的原子性就是对数据的更改要么全部执行,要么全部不执行
(4) 丰富的特性:可用于缓存(最广泛:缓存数据库),消息,按key设置过期时间,过期后将会自动删除
redis 最适合的场景
(1)会话缓存(Session Cache)---》原来session放在了djagno-session表中,速度慢,放到redis中速度超级快
(2)全页缓存,接口缓存:
(3)队列:程序的解耦,不是专业的,真正专业的消息队列:kafka,rabbitmq...
(4)排行榜/计数器:有序集合, 字符串类型做计数器累加(由于6.x之前redis是单线程单进程架构,不存在并发安全问题)
redis 为什么这么快?
-1 纯内存操作
-2 使用io多路复用的网络模型(select,poll,epoll模型),epoll模型
-3 单线程,单进程架构,没有进程线程间切换的消耗
redis的安装(linux,mac,win)
-redis作者对win的支持不好---》win不支持epoll的网络模型,只支持select
-于是:微软就自己把redis改了改--》编译成可执行文件--》可以运行在win上
-两个大的分支
-一个分支只维护到3.x
-https://github.com/microsoftarchive/redis/releases
-另一个分支维护到5.x
-https://github.com/tporadowski/redis/releases/
-下载完成,一路下一步
-会创建出一个redis服务---(mysql服务),安装路径加入到环境变量了
-以后,启动服务,在任意路径敲 redis-cli 都能识别
-启动redis服务(redis的服务的,执行命令)
redis-server.exe redis.windows-service.conf
-客户端连接(cmd窗口下)
redis-cli -h 127.0.0.1 -p 6379
redis-cli
-redis 是key-value存储,但是它默认有16个库
# 图形化客户端--》选择很多
-redis-desktop-manage 源码是个开源软件,用qt写的,图形化界面,开始免费,后来用的人多了,收费了,99永久----》等同于navicate
-一路下一步
redis基本链接和连接池
基本链接
# python 写脚本,操作redis,本质python代码就是redis的客户端
# pip install redis
# 第一步:导入Redis类
from redis import Redis
# 第二部: 实例化得到对象
conn=Redis(host="localhost",port=6379,) # 默认连本地
# 第三步:操作数据(非常对方法,操作:字符串,hash,链表操作)
conn.set('name','lqz')
conn.close() # 关闭连接
连接池
pool.py
import redis
POOL = redis.ConnectionPool(max_connections=10)
链接
from pool import POOL
# 第三步:从池中取一个链接使用
conn = redis.Redis(connection_pool=POOL)
# 第四步:操作数据(非常对方法,操作:字符串,hash,链表操作)
conn.set('age', '19')
conn.close()