redis的使用与 django的redis的使用
1. 使用redis数据库分为两种: 第一种是在python语言中直接使用的方式, 第二种就是在django中使用django_redis模块来数用
第一种直接在python语言中使用redis
import redis #加载redis模块
conn = redis.Redis(host='127.0.0.1',port=6379,password=12345) #设置链接信息
##############redis之字符串操作
# conn.set('age',18) #在redis添加数据
# conn.set('name1','gukai',ex=5) #在redis添加数据让他存活5秒钟
# name = conn.get('name') #在redis中获取值, 注意拿到的值是二进制形式的
# print(name)
#
# conn.mset({'name':'lqz','age':'18'})
# #mset 是可以一次插入多个字符串的方法
#
# print(conn.mget('name','age'))
# #mget 是可以一次查询多个字符串信息的
#
# print(conn.incr('age',amount=1))
# #incr 是可以自动让数据+1 多数用于网站的访问量,与数据的访问量
#
# print(conn.decr('age'))
# #decr 是自动减1
#
# print(conn.append('age','ppppp'))
# #append 是设置key的值 在后面追加,并统计个数返回
#
# print(conn.strlen('age'))
# #strlen 是统计key对应的values值的字符串个数
字符串形式使用
############redis之列表操作
# conn.lpush('l1', *[1,22,33,44,55,'gukai'])
# #lpush 是redis的列表插入可以插入多条数据
# #注意lpush 左边的数据是最先插入的, 所以 '1' 显示在最后面,队列模式
# conn.rpush('l2', *[1,22,33,44,55,'gukai'])
# #注意rpush 是右边的数据最先插入,所以 '1' 显示在最前面, 队列模式 # print(conn.llen('l2'))
#llen 是统计l2这个列表内有几个元素,注意索引还是从0开始的 # conn.linsert('l2','BEFORE','33','PPPP')
#linsert 是可以在列表内 指定列表内任意位置插入数据,这里是在33这个值前面插入pppp字符串 # conn.lset('l2',2,'12345')
# #lset 是指定l2列表,按照索引的位置,修改值 # conn.lrem('l2',-1,'gukai')
# #按照指定的删除数据 # print(conn.lpop('l1'))
# #指定l2列表,并拿值, 是从0号索引位置取值 # print(conn.lindex('l1',2))
# #lindex 是指定索引位置来取值,但是列表中的值不会被删除掉 # print(conn.lrange('l1',0,10000))
# print(conn.lrange('l1',0,conn.llen('l1')))
# #lrange是拿到列表中的数据, 0 是从0号索引开始, 10000随便指定
# #上面的案例说明想要拿到所有的数据,可以用两种方式来实现该功能 # print(conn.blpop('l1'))
# #blpop是可以后续做爬虫使用的,当列表中的数据全部被拿走了,程序也不会停止
redis使用之列表形式的调用
###########redis 之字典形式
# conn.hset('n1','name','gukai')
# conn.hset('n1','age',18)
# #hset 是字典形式插入, 注意他们是插入同一个n1字典内的
#
#
# conn.hmset('n2', {'name':'lqz','age':18})
# #mhset 是可以一次行插入多条字典的形式,并且是唯一的,插入几次都一样
#
# print(conn.hmget('n2','name','age'))
# print(conn.hmget('n2',['name','age']))
# #hmget是可以一次 查询多条信息的用法
#
# print(conn.hgetall('n2'))
# #hgetall 最要不要使用,因为不知都字典存储的量,会让服务器炸掉
#
# print(conn.hlen('n2'))
# #hlen 是查询n2 字典内有几条数据
#
# print(conn.hkeys('n2'))
# #hkeys 是查询n2 内有几个key
#
# print(conn.hvals('n2'))
# #hvals 是查询n2内所有的values的值并打印出来
#
# print(conn.hexists('n2','ages'))
# #hexists 是查询n2 内有没有一个值为ages的,返回的是布尔值
#
# # conn.hdel('n2','name','age')
# #是删除n2表内的name 与age
#
# print(conn.hincrby('n2','age'))
# #hincrby 是字典形式 给age 自增+1
redis之字典形式调用
##############以下是redis 对数据表的操作
# ret=conn.exists('n1') #查看n1这个表是否存在
# print(ret)
#模糊查询key值
# ret=conn.keys('n?') # ? 表示任意一个字符
# ret=conn.keys('n*') # * 是一个或多个字符
# ret=conn.keys('n[1n]') # [] 表示1 或者 n都可以
#
# print(ret)
redis对数据表的操作
############以下这个是redis的管道作用,确保数据一致性,成功一起成功(模拟事务)
pipe = conn.pipeline(transaction=True)
pipe.multi()
pipe.set('name', 'alex')
pipe.set('role', 'sb')
pipe.execute()
redis形式模拟事务模式,成功一起成功,失败一起失败
第二种方式在django中使用redis模块
########如何使用django的redis模块
pip3 install django-redis #首先先安装django的模块 第二步: 在setting做配置
CACHES = {
"default": { #注意这里的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", #注意如果redis设置了密码 需要写入密码
}
}
} 第三步: 在视图函数中使用
from django_redis import get_redis_connection def test(request):
conn = get_redis_connection('default')
ret = conn.get('n123')
return HttpResponse('%s' % ret) #########以上就是redis 的全部使用方法, 有两种方法,第一种就是直接在python中使用redis模块
第二种就是在django中使用 django_redis 模块
第二种方式: 使用django_redis模块实现
redis的使用与 django的redis的使用的更多相关文章
- django+celery+redis环境搭建
初次尝试搭建django+celery+redis环境,记录下来,慢慢学习~ 1.安装apache 下载httpd-2.0.63.tar.gz,解压tar zxvf httpd-2.0.63.tar. ...
- django - 总结 - redis缓存
八.redis 补充- 操作 - 增删改查 对字典,重新设计结构,增删改查. hmset keys hget scan_iter hgetall import redis import j ...
- django celery redis 定时任务
0.目的 在开发项目中,经常有一些操作时间比较长(生产环境中超过了nginx的timeout时间),或者是间隔一段时间就要执行的任务. 在这种情况下,使用celery就是一个很好的选择. cele ...
- django做redis缓存
django中应用redis:pip3 install django-redis - 配置 CACHES = { "default": { "BACKEND": ...
- Django 连接redis方法
1. 按照redis模块 # 在cmd中 pip3 install redis 2. 测试代码 插入单挑数据 import redis conn = redis.Redis(host='10.0.0. ...
- Django中redis的使用方法(包括安装、配置、启动)
一.安装redis: 1.下载: wget http://download.redis.io/releases/redis-3.2.8.tar.gz 2.解压 tar -zxvf redis-3.2. ...
- Django+Celery+Redis实现异步任务(发送邮件)
安装如下依赖库 pip install Celery pip install django-celery pip install django-redis 还要安装本地的Redis服务 setting ...
- django+celery+redis实现运行定时任务
0.目的 在开发项目中,经常有一些操作时间比较长(生产环境中超过了nginx的timeout时间),或者是间隔一段时间就要执行的任务. 在这种情况下,使用celery就是一个很好的选择. cele ...
- django使用redis做缓存
Django 使用 Redis 做缓存 django中应用redis:pip3 install django-redis - 配置 CACHES = { "default": { ...
随机推荐
- XSS学习(三)挖掘思路
HTML标签之间 <div id="body"> [输出点] </div> payload:<script>alert(1)</scrip ...
- 【转】Session Cookie Token的区别
Cookie cookie 是一个非常具体的东西,指的就是浏览器里面能永久存储的一种数据,仅仅是浏览器实现的一种数据存储功能. cookie由服务器生成,发送给浏览器,浏览器把cookie以kv形式保 ...
- Netty中的基本组件及关系
原文:https://blog.csdn.net/summerZBH123/article/details/79344226--------------------- 概述 这篇文章主要是用来 ...
- 解决java新开页面被拦截的问题
在开发中遇到from表单利用 target="_blank" 属性新开页面时被拦截. 用ajax让form表单提交,这时有可能浏览器会拦截新开页面,这时只 需要设置 ajax 同步 ...
- Java高级特性 第15节 解析XML文档(3) - JDOM和DOM4J技术
一.JDOM解析 特征: 1.仅使用具体类,而不使用接口. 2.API大量使用了Collections类. Jdom由6个包构成: Element类表示XML文档的元素 org.jdom: 解析xml ...
- postman进行https接口测试所遇到的ssl证书问题,参考别人方法
参考文档: https://learning.getpostman.com/docs/postman/sending_api_requests/certificates/ 随着 https 的推动,更 ...
- OpenStack搭建Q版在控制节点上的环境准备(step2)
接下来是只需要在控制节点上准备的环境配置.其中虽然NTP服务需要在所有节点上都安装,但NTP服务在控制节点和其他的节点上的配置是不同的,所以不把它放在step1的公共配置中进行准备.如下: 1.配置N ...
- C语言之二维数组与指针
二维数组: ][]; 二维数组实质上也就是一维数组,a[2][3]可看做一个2个元素的一维数组,这2个元素又是另一个数组,在内存中,它的排布如下: #include "stdio.h&quo ...
- 存储专栏:一句话说清RAID2.0
今天,西瓜哥来谈谈高端存储的一股势力,RAID 2.0,最近被华为HVS搞得风生水起,神奇的让人摸不着头脑.我还是从一个高端存储的江湖说起吧. 据说很久很久以前(别扔臭鸡蛋,讲故事都是这样的…),L ...
- 浅析MSIL中间语言——基础篇(转)
来自:https://www.cnblogs.com/dwlsxj/p/MSIL.html 一.开篇 研究MSIL纯属于个人喜好,说在前面MSIL应用于开发的地方很少,但是很大程度上能够帮着我们理解底 ...