redis管道
# 事务四大特性
-原子性:要么都成功,要么都失败
-一致性:数据前后要一致
-隔离性:多个事务之间相互不影响
-持久性:事务一旦完成,数据永久改变
# redis 有没有事务?支持事务
-redis要支持事务,要完成事务的几大特性,需要使用管道来支持
-单实例redis是支持管道的
-集群模式下,不支持管道,就不支持事务
# redis通过管道实现事务
import redis
conn = redis.Redis()
pipline = conn.pipeline(transaction=True)
pipline.decrby('a1', 10) # 没有真正执行,把命令先放到管道中
raise Exception('出错了')
pipline.incrby('a2', 10)
pipline.execute() # 把管道中的命令,一次性执行
conn.close()
django中使用redis
# 两种方式
-方式一:自定义的通用方案(跟框架无关)
-写一个py文件:redis_pool.py
import redis
POOL=redis.ConnectionPool(max_connections=10)
-在用的位置,导入直接使用
conn = redis.Redis(connection_pool=POOL)
conn.incrby('a1')
-django中有个模块,django-redis,方便我们快速集成redis
-1 下载:pip install django-redis
-2 配置文件配置:
CACHES = {
"default": {
"BACKEND": "django_redis.cache.RedisCache",
"LOCATION": "redis://127.0.0.1:6379",
"OPTIONS": {
"CLIENT_CLASS": "django_redis.client.DefaultClient",
"CONNECTION_POOL_KWARGS": {"max_connections": 100}
# "PASSWORD": "123",
}
}
}
-3 在使用的地方,导入直接使用
from django_redis import get_redis_connection
class MyResponseView(APIView):
def get(self, request):
conn = get_redis_connection() # 从连接池中拿出一个链接
conn.incrby('a1')
conn.set('name','彭于晏')
return APIResponse()
django缓存
# django 是大而全的框架,内置了很多web开发需要的东西,缓存内置了
# 缓存:可以把django中的一个变量(数据),存放到某个位置,下次还可以取出来
# 之前用过:默认放在:内存中,其实可以放在文件中,数据库,redis。。。。
from django.core.cache import cache
cache.set('key','value',5) # 存放值
res=cache.get('key') # 取值
# 通过配置,控制存放在哪,只要如下写,就会放在redis中
CACHES = {
"default": {
"BACKEND": "django_redis.cache.RedisCache",
"LOCATION": "redis://127.0.0.1:6379",
"OPTIONS": {
"CLIENT_CLASS": "django_redis.client.DefaultClient",
"CONNECTION_POOL_KWARGS": {"max_connections": 100}
# "PASSWORD": "123",
}
}
}
# django缓存最强大之处在于,只要是python的变量,任意类型都可以,尽管使用set设置值
l = [1, 'lqz', [1, 3, 4, 5, 6], '彭于晏']
cache.set('ll1', l)
# 以后再django中往redis放数据,就用cache即可
# redis的5大数据类型,只支持一层
# 看一下这篇文章:https://www.cnblogs.com/liuqingzheng/articles/9803351.html
# 超过5k就要交税
-公司正常报税,工资中扣
-6月份开始工作,按1w工资报税, 退税
文章来源地址https://www.toymoban.com/news/detail-515276.html
文章来源:https://www.toymoban.com/news/detail-515276.html
到了这里,关于redis管道/django中使用redis/django缓存的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!