日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

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

發布時間:2023/12/10 python 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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."

總結

以上是生活随笔為你收集整理的python操作redis集群_python操作redis集群的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。