当前位置: 移动技术网 > IT编程>数据库>MongoDB > Redis之与python交互

Redis之与python交互

2019年09月02日  | 移动技术网IT编程  | 我要评论

安装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),
]

 

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网