python操作redis集群_python操作redis集群

strictRedis对象方法用于连接redis

指定主机地址,port与服务器连接,默认db是0,redis默认数据库有16个,在配置文件中指定database 16

上代码

1、对redis的单实例进行连接操作

根据不同的实例方法,与redis的命令对应

python3>>>importredis>>>r = redis.StrictRedis(host='localhost', port=6379, db=0,password='root')>>>r.set('lufei', 'guojialei')

True>>>r.get('lufei')'bar'增删改查>>> conn=redis.StrictRedis()>>>

>>>

>>> conn.set("name1","alex1")

True>>> conn.set("name2","wupeiqi")

True>>>

>>>

>>> conn.set("name1","alex666")

True>>> conn.delete("name2","name1")>>>conn.keys()

[b'name3', b'name2', b'name1']--------------------

2、sentinel集群连接并操作

[root@db01~]#redis-server /data/6380/redis.conf

[root@db01 ~]#redis-server /data/6381/redis.conf

[root@db01 ~]#redis-server /data/6382/redis.conf

[root@db01 ~]#redis-sentinel /data/26380/sentinel.conf &

--------------------------------

## 导入redis sentinel包

>>> from redis.sentinel importSentinel##指定sentinel的地址和端口号

>>> sentinel = Sentinel([('localhost', 26380)], socket_timeout=0.1)##测试,获取以下主库和从库的信息

>>> sentinel.discover_master('mymaster')>>> sentinel.discover_slaves('mymaster')##配置读写分离#写节点

>>> master = sentinel.master_for('mymaster', socket_timeout=0.1)#读节点

>>> slave = sentinel.slave_for('mymaster', socket_timeout=0.1)###读写分离测试 key

>>> master.set('oldboy', '123')>>> slave.get('oldboy')'123'

----------------------redis cluster的连接并操作(python2.7.2以上版本才支持redis cluster,我们选择的是3.5)

https://github.com/Grokzen/redis-py-cluster3、python连接rediscluster集群测试

使用

python3>>> from rediscluster importStrictRedisCluster>>> startup_nodes = [{"host": "127.0.0.1", "port": "7000"}]### Note: decode_responses must be set to True when used with python3

>>> rc = StrictRedisCluster(startup_nodes=startup_nodes, decode_responses=True)>>> rc.set("foo", "bar")

True>>>

'bar'

----------------------

redis存储session

安装模块

安装模块

pip3 install django-redis-sessions

或者

pip3 install django-redis

本文这里用的是django 2.0语法,创建django项目

django-admin startproject mydjango

修改settings.py文件

写入

CACHES ={"default": {"BACKEND": "django_redis.cache.RedisCache","LOCATION": "redis://127.0.0.1:6379/0","OPTIONS": {"CLIENT_CLASS": "django_redis.client.DefaultClient","PASSWORD": "",#"PARSER_CLASS": "redis.connection.HiredisParser",#"SOCKET_TIMEOUT": 10,#"CONNECTION_POOL_CLASS_KWARGS": {#"max_connections": 2,#}

}

}

}#SESSION_COOKIE_AGE = 30 * 60 #设置session过期时间为30分钟

SESSION_ENGINE = 'django.contrib.sessions.backends.cache'

创建app01

django-admin startapp app01

编写session视图函数 app01.views

from django.shortcuts importrender,HttpResponsedefset_session(request):

request.session['username']='chaoge'request.session['age']=18

return HttpResponse("设置sesson成功")defget_session(request):

username=request.session['username']

age= request.session['age']return HttpResponse(username+":"+str(age))

添加url路由

vim mydjango/urls.py

from django.contrib importadminfrom django.urls importpathfrom app01 importviews

urlpatterns=[

path('set_session/',views.set_session),

path('get_session/',views.get_session),

path('admin/', admin.site.urls),

]

确保启动redis服务端,默认方式启动

redis-server &redis-cli 连接无误

发送ping命令得到pong即可

启动django

python3 manage.py runserver 0.0.0.0:8000

访问视图,设置一条session信息,存入redis数据库

访问视图,获取session信息

检查redis数据库,是否存在一条key

127.0.0.1:6379> keys *

1) ":1:django.contrib.sessions.cachep220moqvxclz2hyjqmbybqs3v8ck2i39"获取这个key的值127.0.0.1:6379> get :1:django.contrib.sessions.cachep220moqvxclz2hyjqmbybqs3v8ck2i39"\x80\x04\x95!\x00\x00\x00\x00\x00\x00\x00}\x94(\x8c\busername\x94\x8c\x06chaoge\x94\x8c\x03age\x94K\x12u."

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/430760.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ArcGIS将CAD等高线转换为TIN/DEM数据

1.CAD图层分离 CAD快捷命令QSELECT(快速选择) 选择DGX,GCD图层,复制到新的CAD文件中 2.在ArcGIS中,将dwg文件转化为可编辑的要素类文件(shapefiles) 分析工具-提取分析-筛选 3.高程数据修正 鼠标右键生…

这周工作

这周在课上做了简单的小程序,做我感觉不是很好,好多东西不会,觉得上学年学的好多知识都没有搞懂,课下在看书期间,还是有好多看不懂。我在深思我我就是个打酱油的。转载于:https://www.cnblogs.com/wulaoliu/p/5277037.…

字节跳动专家会_字节跳动招聘直播策略运营专家/经理/海外财务AR BP,ACCA优先...

字节跳动是把人工智能技术大规模应用于信息分发的公司,短短7年,从最初的一个“今日头条”,已经发展为拥有“抖音”、“西瓜视频”、“火山小视频”、“FaceU”等十几款产品的公司。每天,都有6亿用户通过字节跳动的产品看见更大的世…

矩形河道中心排放污染物浓度点源二维移流扩散MATLAB解析解计算

某非可降解物质在20℃水体中从河道中心排放,速度与水流流速方向相同,排污口为时间连续点源。河道为矩形河道,长度16.0m,宽度3.0m,水深2.0m,水流流速2.0m/s。单位时间投放的污染物强度为30mg/L。假设污染物排…

elementui树状菜单tree_vue.js+element-ui做出菜单树形结构

这次给大家带来vue.jselement-ui做出菜单树形结构,vue.jselement-ui做出菜单树形结构的注意事项有哪些,下面就是实战案例,一起来看一下。由于业务需要,要求实现树形菜单,且菜单数据由后台返回,在网上找了几…

ArcGIS如何将经纬度坐标显示转化为xy坐标显示

GIS中经纬度坐标显示如图: 视图-数据框属性-常规-显示(米) 点击确定,然后坐标显示就转换为xy坐标了 注意,以上设置只是设置了当前文档的坐标系统,并不是数据的坐标系 举个例子:我将2160这条等高…

poj 2503 Trie树

典型的Trie树&#xff0c; 算是复习一下字符串吧&#xff0c; 就是输入有点恶心&#xff0c;代码如下&#xff1a; #include <cstdio> #include <cstring> #include <algorithm>using namespace std; const int maxn 500000100; struct Trie{bool isword;in…

尚硅谷k8s安装文档_Kubernetes(k8s)中文文档 从零开始k8s_Kubernetes中文社区

译者&#xff1a;王乐这部文档是面对想要学习Kubernetes集群的读者。如果你对入门指南已经可以满足你对这个列表上所列的需求&#xff0c;我们建议你继续阅读这个&#xff0c;因为他是根据前人积累经验所写的新手指南。当然如果除了学习入门指南知识外还希望学习IaaS&#xff0…

ArcGIS改变数据集或要素类的的坐标系(投影)

数据管理工具-投影和变换-投影-输入数据集或要素类-输出数据集或要素类-输出坐标系(选择合适的投影坐标系)

用python模拟评委打分_用vb 编写一个评委打分的程序1. 编写一个评委打分的程序,实现以下功能:a) 单击“评委给分”按钮时弹出InputBo...

共回答了20个问题采纳率&#xff1a;80%Dim a(10) As IntegerPrivate Sub Command1_Click()For i 1 To 10a(i) InputBox("请输入第" & i & "个分数")Text1.Text Text1.Text & Str(a(i))Next iEnd SubPrivate Sub Command2_Click()Max a(1)…

地形图如何转换为数字高程模型(DEM)

1.设置参考坐标信息 一般的地形图没有坐标参考&#xff0c;在ArcCatalog 10.7中打开地形图&#xff0c;右键属性-空间参考-编辑&#xff0c;选择对应的空间参考坐标信息。 2..地图配准 将地形图在ArcMap中打开&#xff0c;一般地形图四角都有经纬度坐标信息&#xff0c;即通过…

实现DIV拖动

Ajax的到来让B/S中的客户端中开发有火了一把&#xff0c;网上出现了很多优秀的开源框架和UI&#xff0c;比较著名了有prototype&#xff0c;YUI&#xff0c;GWT等&#xff0c;但很多时候发现这些东西很难用到你的系统之中&#xff0c;有时候你的系统仅仅需要实现一两个UI功能&a…

ubuntu需要多大的固态硬盘_Ubuntu如何安装和优化SSD硬盘

SSD是固态硬盘&#xff0c;在Ubuntu下安装后需要对其进行优化设置&#xff0c;以便更好的使用SSD硬盘&#xff0c;下面小编就给大家介绍下Ubuntu安装和优化SSD硬盘的方法&#xff0c;感兴趣的朋友不妨来了解下。安装1.下载Ubuntu光盘镜像2.利用u盘安装此时&#xff0c;计算机已…

HEC-RAS二维溃坝洪水模拟(尾矿库)

1.建模 1.1新建工程文件 注意路径不要有中文&#xff0c;主义单位设置为国际单位SI 1.2导入地形数据 导入地形如图&#xff1a; 1.3建立几何模型 1)新建几何文件 2&#xff09;导入坝轴线 提前在GIS中制作坝轴线shp文件&#xff0c;注意在将制作好的坝轴线shp文件复制到工程…

Codeforces Beta Round #4 (Div. 2 Only) B. Before an Exam dp

B. Before an Exam题目连接&#xff1a; http://www.codeforces.com/contest/4/problem/B Description Tomorrow Peter has a Biology exam. He does not like this subject much, but d days ago he learnt that he would have to take this exam. Peters strict parents made…

mbsfn子帧_区分小区内子帧状态的方法、装置以及系统_2008100004878_说明书_专利查询_专利网_钻瓜专利网...

技术领域本发明涉及通信技术领域&#xff0c;尤其涉及一种区分小区内子帧状态的方法、装置以及系统。背景技术第三代组织伙伴计划(3GPP&#xff0c;Third Generation Partnership Projects)于2005年启动了第三代(3G&#xff0c;3rd Generati on)长期演进研究项目(LTE&#xff0…

解决导入myeclipse的项目注释和中文是乱码

1、先说真正解决我所遇到的问题的办法。 用记事本打开——另存为——格式改为UTF-8——保存后在myeclipse就正常显示了。 2、以下是网上找到的办法&#xff0c;试了一些并没有解决问题&#xff0c;但或许是中间必须的步骤吧。 一、更改工作空间编码格式 二、左边更改项目的编码…

fluent17.0中Iso surface设置

Setting up domain-最后一栏creat下拉 JIANZHIYOUDU

POJ 1860 Currency Exchange (SPFA松弛)

题目链接&#xff1a;http://poj.org/problem?id1860 题意是给你n种货币&#xff0c;下面m种交换的方式&#xff0c;拥有第s种货币V元。问你最后经过任意转换可不可能有升值。下面给你货币u和货币v&#xff0c;r1是u到v的汇率&#xff0c;c1是u到v的手续费&#xff0c;同理r2是…