第一段:Redis数据库
①.、redis的安装与运行
第二段:pycharm操作redis
①.、Redis普通连接和连接池
第三段:Django操作Redis
①.、自定义包方案
介绍:
Redis:非关系型缓存数据库
nosql:非关系型数据库
没有表,没有表与表之间的关系,更不存在外键
存储数据的形式为key:values的形式
c语言写的服务(监听端口),用来存储数据的,数据是存储在内存中,取值,放值速度非常快, 10w qps
缓存数据库:
数据存储在内存中
大部分时间用于缓存,也可以长久存储数据
redis速度为什么这么快:
纯内存操作
网路模型使用的IO多路复用(可以处理的请求更多)
版本选择:
mac:源码编译安装
linux:源码编译安装
windows:redis没有windows的版本,只有微软基于源码改动,编译的安装包(用法一样)
redis需要了解的目录结构:
redis-server :服务端启动文件
redis-cli:客服端启动文件
启动redis:
方式一:将服务端添加至系统服务(电脑运行自动启动)*
方式二:cmd终端使用命令启动redis-server 指定配置文件 # 如果不指定,会默认
客服端链接redis:
cmd终端使用命令
方式二:redis-cli -h 地址 -p 端口
可以使用软件:
Redis Desktop Manager :开源的,原来免费,后来收费了 推荐用(mac,win,linux 都有)
-Qt5 qt是个平台,专门用来做图形化界面的
-resp-2022.1.0.0.exe 一路下一步,安装完启动起来
-Redis Client 小众
RESP操作redis:
安装模块:
# 下载模块:
pip install redis
-使用django连接池:https://blog.51cto.com/liangdongchang/5140039
普通链接:
普通链接是指,直接操作redis,每一次操作都会建立一条链接
# 导入模块
from redis import Redis
# 实例化对象(后方参数填写链接的地址和端口,还可以填写其他参数)
conn = Redis(host='12⑦0.0.1', port=6379)
# 向redis中存放一个数据
conn.set('name', 'kangkang')
# 从redis中取出存放的数据(二进制格式)
print(conn.get('name'))
# 操作完成,手动关闭,不然会一直占用一条链接
conn.close()
连接池连接:
拿到一个Redis实例的连接池,避免每次建立、释放连接的开销,节省了每次连接用的时间,文中设置了最大10个.
POOL.py
# 1、使用单例模式(保证每次使用的都是同一个实例对象),设置连接池最大为10个
)
my_redis.py
# 导入redis
from redis import Redis
# 导入线程模块(模仿多线程并发)
from threading import Thread
# 导入自己创建的单例
from script.pool import POOL
# 写一个函数,在内部操作redis
def task():
t.start()
redis 是key-value形式存储
# 1、set(name, value, ex=None, px=None, nx=False, xx=False)
# 17、incrbyfloat(self, name, amount=1.0)
自增(支持小数)
# 18、decr(self, name, amount=1)
自减
# 19、append(key, value)
在指定key对应值的后面添加指定字符
conn.append('name','NB')
from redis import Redis
conn = Redis(host='12⑦0.0.1', port=6379)
# 1、lpush(name, values)
print(res)
conn.close()
import redis
conn = redis.Redis()
# 1、hset(name, key, value)
print(i)
conn.close()
import redis
conn = redis.Redis()
# 1、delete(*names)
print(conn.type('age'))
conn.close()
什么是管道:
管道是指,将多条redis操作放在管道内同时执行,管道也是一种事务的操作,可以作用于敏感,重要的数据
ridis支持事务吗:
redis的事务基于管道,只有单实例才支持事务
ridis管道的使用:
# 引入redis
import redis
# 实例化redis对象
conn = redis.Redis()
# 实例化管道
p = conn.pipeline(transaction=True)
# 开启管道(类似于开启事务)
p.multi()
# 模拟张三给李四100元
p.decr('zhangsan', 100)
# 模拟李四账户增加100元
p.incr('lisi', 100)
# 启动管道(类似于提交事务)
p.execute()
# 关闭
p.close()
这种方案所有的框架都可以使用
- 1、第一步:创建一个pool.py文件(导入rides,并实例化对象,生成连接池)
import Redis
# 实例化对象,设置连接池最大数量为100
POOL = Redis.CoonectionPool(max_connections=100)
res = conn.get('name')
需要安装模块,配置settings文件,以后直接作为Django内置缓存使用
- 安装模块:
pip install django-redis
# 底层做了pickle序列化
直接使用django-redis模块
from django_redis import get_redis_connection
def test_redis(request):
return JsonResponse()
以上就是土嘎嘎小编为大家整理的Redis缓存数据库-快速入门相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!