首页 > 编程语言 > 详细

Redis之与python交互

时间:2019-09-02 10:20:29      阅读:53      评论:0      收藏:0      [点我收藏+]

安装redis

pip install redis

调?模块
引?模块

from redis import *

这个模块中提供了StrictRedis对象(Strict严格),?于连接redis服务器,并按照不同类型提供 了不同?法,进?交互操作

 

方法

StrictRedis对象?法

通过init创建对象,指定参数host、port与指定的服务器和端?连接,host默认为localhost,port默认为6379,db默认为0

sr = StrictRedis(host=‘localhost‘, port=6379, db=0)

简写
sr=StrictRedis()

根据不同的类型,拥有不同的实例?法可以调?,与前?学的redis命令对应,?法需要的参数与命令的参数?致


string

  • set
  • setex
  • mset
  • append
  • get
  • mget
  • key

keys

  • exists
  • type
  • delete
  • expire
  • getrange
  • ttl


hash

  • hset
  • hmset
  • hkeys
  • hget
  • hmget
  • hvals
  • hdel


list

  • lpush
  • rpush
  • linsert
  • lrange
  • lset
  • lrem


set

  • sadd
  • smembers
  • srem


zset

  • zadd
  • zrange
  • zrangebyscore
  • zscore
  • zrem
  • zremrangebyscore

 

python操作String

准备

  • 在桌面上创建redis目录
  • 使用pycharm打开 redis目录
  • 创建redis_string.py文件
from redis import *
if __name__=="__main__":
    try:
        #创建StrictRedis对象,与redis服务器建?连接
        sr=StrictRedis()

    except Exception as e:
        print(e)

 

string-增加

?法set,添加键、值,如果添加成功则返回True,如果添加失败则返回False
编写代码如下

from redis import *
if __name__=="__main__":
    try:
        #创建StrictRedis对象,与redis服务器建?连接
        sr=StrictRedis()
        #添加键name,值为itheima
        result=sr.set(name,itheima)
        #输出响应结果,如果添加成功则返回True,否则返回False
        print(result)
    except Exception as e:
        print(e)

 

string-获取

?法get,添加键对应的值,如果键存在则返回对应的值,如果键不存在则返回None
编写代码如下

from redis import *
if __name__=="__main__":
    try:
        #创建StrictRedis对象,与redis服务器建?连接
        sr=StrictRedis()
        #获取键name的值
        result = sr.get(name)
        #输出键的值,如果键不存在则返回None
        print(result)
    except Exception as e:
        print(e)

 

string-修改

?法set,如果键已经存在则进?修改,如果键不存在则进?添加
编写代码如下

from redis import *
if __name__=="__main__":
    try:
        #创建StrictRedis对象,与redis服务器建?连接
        sr=StrictRedis()
        #设置键name的值,如果键已经存在则进?修改,如果键不存在则进?添加
        result = sr.set(name,itcast)
        #输出响应结果,如果操作成功则返回True,否则返回False
        print(result)
    except Exception as e:
        print(e)

 

string-删除

?法delete,删除键及对应的值,如果删除成功则返回受影响的键数,否则则返 回0
编写代码如下

from redis import *
if __name__=="__main__":
    try:
        #创建StrictRedis对象,与redis服务器建?连接
        sr=StrictRedis()
        #设置键name的值,如果键已经存在则进?修改,如果键不存在则进?添加
        result = sr.delete(name)
        #输出响应结果,如果删除成功则返回受影响的键数,否则则返回0
        print(result)
    except Exception as e:
        print(e)

 

获取键

?法keys,根据正则表达式获取键
编写代码如下

from redis import *
if __name__=="__main__":
    try:
        #创建StrictRedis对象,与redis服务器建?连接
        sr=StrictRedis()
        #获取所有的键
        result=sr.keys()
        #输出响应结果,所有的键构成?个列表,如果没有键则返回空列表
        print(result)
    except Exception as e:
        print(e)

 

操作string完整示例

from redis import StrictRedis

if __name__ == __main__:
    # 创建一个StrictRedis对象,连接redis数据库
    try:
        sr = StrictRedis()
        # 添加一个key,为name,value为yifchan
        # res = sr.set(‘name‘, ‘yifchan‘)
        # print(res)  # True

        # 修改name的值为yifchen
        # res = sr.set(‘name‘, ‘yifchen‘)
        # print(res)  # True

        # 获取name的值
        # res = sr.get(‘name‘)
        # print(res)  # b‘yifchan‘  b‘yifchen‘

        # # 获取数据库中所有的键
        # res = sr.keys()
        # print(res)  # [b‘name‘]

        # # 删除name及所对应的值
        # res = sr.delete(‘name‘)
        # print(res)  # [b‘name‘]

        # res = sr.keys()
        # print(res)  # []

        # 假设已经在redis中设置了多个键
        # 127.0.0.1: 6379 > mset a1 ha a2 xi

        res = sr.keys()
        print(res)  # [b‘a1‘, b‘a2‘]

        # 删除多个键值
        res = sr.delete(a1, a2)
        print(res)  # 2

        res = sr.keys()
        print(res)  # []

    except Exception as e:
        print(e)

 

redis存储session信息

安装包

pip install django-redis-sessions

Django使用Redis存储sesson实例

settings.py

# 设置redis存储sessions信息
SESSION_ENGINE = redis_sessions.session
SESSION_REDIS_HOST = localhost
SESSION_REDIS_PORT = 6379
SESSION_REDIS_DB = 2
SESSION_REDIS_PASSWORD = ‘‘
SESSION_REDIS_PREFIX = session  # session:唯一标识码

 

views.py

from django.shortcuts import render, HttpResponse

# Create your views here.


def set_session(request):
    """设置session信息"""
    request.session[username] = yifchan
    request.session[age] = 18

    return HttpResponse(设置session)



def get_session(request):
    """获取session信息"""
    username = request.session[username]
    age = request.session[age]

    return HttpResponse(username + : + str(age))

 

url

urlpatterns = [
    url(r^set_session/, views.set_session),
    url(r^get_session/, views.get_session),
]

 

Redis之与python交互

原文:https://www.cnblogs.com/yifchan/p/sql-1-7.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!