博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
redis的使用与 django的redis的使用
阅读量:5231 次
发布时间:2019-06-14

本文共 3487 字,大约阅读时间需要 11 分钟。

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_connectiondef test(request): conn = get_redis_connection('default') ret = conn.get('n123') return HttpResponse('%s' % ret)#########以上就是redis 的全部使用方法, 有两种方法,第一种就是直接在python中使用redis模块第二种就是在django中使用 django_redis 模块
第二种方式: 使用django_redis模块实现

 

 

 

转载于:https://www.cnblogs.com/gukai/p/10783516.html

你可能感兴趣的文章
JavaScript中的继承
查看>>
MySQL简介
查看>>
设计模式之桥接模式(Bridge)
查看>>
jquery的$(document).ready()和onload的加载顺序
查看>>
Python Web框架Django (五)
查看>>
.net学习之继承、里氏替换原则LSP、虚方法、多态、抽象类、Equals方法、接口、装箱拆箱、字符串------(转)...
查看>>
【codevs1033】 蚯蚓的游戏问题
查看>>
【程序执行原理】
查看>>
第二次项目冲刺(Beta阶段)5.24
查看>>
python的多行注释
查看>>
连接Oracle需要jar包和javadoc文档的下载
查看>>
UVA 10976 - Fractions Again?!
查看>>
Dreamweaver cc新版本css单行显示
查看>>
【android】安卓的权限提示及版本相关
查看>>
JavaScript可否多线程? 深入理解JavaScript定时机制
查看>>
IOS基础学习
查看>>
PHP 导出 Excell
查看>>
Java基础教程——网络基础知识
查看>>
自己到底要的是什么
查看>>
this 指向
查看>>