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."

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Redis是一个开源的内存数据结构存储系统,它可以用作数据库、缓存和消息中间件。Redis集群Redis的分布式解决方案,它可以将数据分布在多个节点上,提供高可用性和扩展性。 Python3是一种流行的编程语言,它具有简洁、易读和强大的特性。Python3可以与Redis集群进行交互,通过Redis的客户端库来实现。 要使用Python3Redis集群进行交互,你需要安装redis-py-cluster库。这个库提供了与Redis集群通信的功能,包括连接、读取和写入数据等操作。 以下是使用Python3Redis集群进行交互的基本步骤: 1. 安装redis-py-cluster库:可以使用pip命令来安装,例如:pip install redis-py-cluster。 2. 导入rediscluster模块:在Python脚本中导入rediscluster模块,以便使用其中的类和方法。 3. 创建Redis集群连接对象:使用rediscluster.RedisCluster类创建一个Redis集群连接对象,并指定集群节点的主机和端口。 4. 执行操作:通过调用连接对象的方法来执行各种操作,例如读取和写入数据。 下面是一个简单的示例代码,展示了如何使用Python3Redis集群进行交互: ```python from rediscluster import RedisCluster # 定义Redis集群节点的配置 startup_nodes = [ {"host": "127.0.0.1", "port": 7000}, {"host": "127.0.0.1", "port": 7001}, {"host": "127.0.0.1", "port": 7002}, ] # 创建Redis集群连接对象 rc = RedisCluster(startup_nodes=startup_nodes, decode_responses=True) # 执行操作 rc.set("key", "value") value = rc.get("key") print(value) # 关闭连接 rc.close() ``` 这是一个简单的示例,你可以根据自己的需求使用更多的Redis集群操作方法。同时,你也可以通过配置文件来指定Redis集群的节点信息。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值