python操作redis

安装redis模块
pip install redis
pip install django-redis

一、操作单实例

import redis

r = redis.StrictRedis(host="192.168.170.131", port=6379, password="zxczxc")

r.set("a", "a1")
print(r.get("a"), type(r.get("a")))
# b'a1' bytes类型

二、哨兵集群

# 导入redis sentinel包
from redis.sentinel import Sentinel  

# 指定sentinel的地址和端口号
sentinel = Sentinel([('192.168.170.131', 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('a', '123')  
slave.get('a')  
# '123'

三、rediscluster集群

pip3 install redis-py-cluster

from rediscluster import StrictRedisCluster  
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")  

四、redis存储session

django-redis-sessions 官方文档:https://pypi.org/project/django-redis-sessions/
dango-redis 官方文档:http://niwinz.github.io/django-redis/latest/#_configure_as_cache_backend

安装模块

安装模块
pip install django-redis-sessions
或者
pip 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 import render,HttpResponse

def set_session(request):
    request.session['username']='chaoge'
    request.session['age']=18
    return HttpResponse("设置sesson成功")

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

添加url路由

vim mydjango/urls.py

from django.contrib import admin
from django.urls import path
from app01 import views
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数据库

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值