admin管理员组

文章数量:1532440

 

0.redis安装包(window版)

redis安装包提取码:1211https://pan.baidu/s/1fWzxkEuDrKLgaD8Jqn0lNA

redis使用大全https://download.csdn/download/qq_52385631/78964433

一. 傻瓜式安装,一路next,中间注意一个地方就行,添加环境变量的地方打勾

二. 安装完以后修改配置 

1.修改配置文件

a. 打开redis安装的目录下的 redis.windows-service.conf 文件(千万别找错了)

 b. 设置绑定IP,如果想要让局域网内其他主机访问自己的redis,需要设置 bind 0.0.0.0

c. 设置redis密码,如果想需要提供密码再登录redis,需要设置 requirepass 密码 

 2.重启redsi让配置生效

a. 在搜索框里搜管理工具

 b. 点击关闭然后重启动

 三. 基本使用

redis安装并启动之后,就可以通过各种客户端连接redis并做各种操作。

redis-cli是安装上redis之后自带的客户端工具,他可以让我们快速通过命令对redis操作。

在windows中打开终端cmd,输入 redis-cli 就可以使用这个客户端了。

四. python连接redis

第一步:安装python操作redis模块

pip3 install redis -i https://pypi.douban/simple/

第二步:写代码去操作redis 

#!/usr/bin/env python
# -*- coding:utf-8 -*-
import redis
# 直接连接redis
conn = redis.Redis(host='10.211.55.28', port=6379, password='foobared', encoding='utf-8')
# 设置键值:15131255089="9999" 且超时时间为10秒(值写入到redis时会自动转字符串)
conn.set('15131255089', 9999, ex=10)
# 根据键获取值:如果存在获取值(获取到的是字节类型);不存在则返回None
value = conn.get('15131255089')
print(value)

上面python操作redis的示例是以直接创建连接的方式实现,每次操作redis如果都重新连接一次效率会比较低,建议使用redis连接池来替换,例如:

import redis
# 创建redis连接池(默认连接池最大连接数 2**31=2147483648)
pool = redis.ConnectionPool(host='10.211.55.28', port=6379, password='foobared', encoding='utf-8', max_connections=1000)
# 去连接池中获取一个连接
conn = redis.Redis(connection_pool=pool)
# 设置键值:15131255089="9999" 且超时时间为10秒(值写入到redis时会自动转字符串)
conn.set('name', "武沛齐", ex=10)
# 根据键获取值:如果存在获取值(获取到的是字节类型);不存在则返回None
value = conn.get('name')
print(value)

五. django连接redis

第一步:安装django-redis模块(内部依赖redis模块)

pip3 install django-redis -i https://pypi.douban/simple/

第二步:在django项目的settings.py中添加相关配置

# 上面是django项目settings中的其他配置....
CACHES = {
    "default": {
        "BACKEND": "django_redis.cache.RedisCache",
        "LOCATION": "redis://10.211.55.28:6379", # 安装redis的主机的 IP 和 端口
        "OPTIONS": {
            "CLIENT_CLASS": "django_redis.client.DefaultClient",
            "CONNECTION_POOL_KWARGS": {
                "max_connections": 1000,
                "encoding": 'utf-8'
            },
            "PASSWORD": "foobared" # redis密码
        }
    }
}

ps:可以有多个

 redis
# 上面是django项目settings中的其他配置....
# 设置redis缓存
CACHES = {
    # 默认缓存
    "default": {
        "BACKEND": "django_redis.cache.RedisCache",
        "LOCATION": "redis://127.0.0.1:6379/0",  # 安装redis的主机的 IP 和 端口
        "OPTIONS": {
            "CLIENT_CLASS": "django_redis.client.DefaultClient",
            "CONNECTION_POOL_KWARGS": {
                "max_connections": 1000,
                "encoding": 'utf-8'
            },
            "PASSWORD": "foobared"  # redis密码
        }
    },
    # 提供给xadmin或者admin的session存储
    "session": {
        "BACKEND": "django_redis.cache.RedisCache",
        "LOCATION": "redis://127.0.0.1:6379/1",
        "OPTIONS": {
            "CLIENT_CLASS": "django_redis.client.DefaultClient",
            "CONNECTION_POOL_KWARGS": {
                "max_connections": 1000,
                "encoding": 'utf-8'
            },
            "PASSWORD": "foobared"  # redis密码
        }
    },
    # 提供存储短信验证码
    "sms_code": {
        "BACKEND": "django_redis.cache.RedisCache",
        "LOCATION": "redis://127.0.0.1:6379/2",
        "OPTIONS": {
            "CLIENT_CLASS": "django_redis.client.DefaultClient",
            "CONNECTION_POOL_KWARGS": {
                "max_connections": 1000,
                "encoding": 'utf-8'
            },
            "PASSWORD": "foobared"  # redis密码
        }
    }
}

# 设置xadmin用户登录时,登录信息session保存到redis(加上下面两句,才能生效)
SESSION_ENGINE = "django.contrib.sessions.backends.cache"
# 配置生效
SESSION_CACHE_ALIAS = "session"

第三步:在django的视图中操作redis

from django.shortcuts import HttpResponse
from django_redis import get_redis_connection
def index(request):
    # 去连接池中获取一个连接
    conn = get_redis_connection("default")
    conn.set('name', "xxx", ex=10)
    value = conn.get('name')
    print(value)
    return HttpResponse("OK")

ps:高级使用,开启事务

# 先存一个值在session里面,有效期60秒
        conn = get_redis_connection("sms_code")
        pipe = conn.pipeline()  # 创建管道
        pipe.multi()  # 开启批量操作  (事务,)
        pipe.set('phone', '123', ex=60 * 10)
        pipe.execute()  # 批量执行了

本文标签: 安装包命令工具教程大全