新手初学

编程入门 行业动态 更新时间:2024-10-28 16:22:06

<a href=https://www.elefans.com/category/jswz/34/1769482.html style=新手初学"/>

新手初学

#!/usr/bin/env python3
# -*- coding:utf-8 -*-
import redis'''
这种连接是连接一次就断了,消耗资源,端口默认是6379,就不用写
''''''
r = redis.Redis(host='127.0.0.1',port=6379,decode_responses=True)
r.set('name','root')
print(r.get('name'))
'''
'''
连接池:
当程序创建数据源实例时,系统会一次性创建多个数据库连接,并把这些数据库连接保存在连接池中,当程序需要进行数据库访问时
无需重新创建数据库连接,而是从连接池中取出一个空闲的数据库连接
decode_responses参数的值必须为True,否则中文无法正常输出
'''pool = redis.ConnectionPool(host='127.0.0.1',port=6379,decode_responses=True)
r = redis.Redis(connection_pool=pool)
'''
管道:
redis-py 默认在执行每次请求都会创建(连接池申请连接)和断开(归还连接池)一次连接操作,如果想要在一次请求中指定多个命令,则可以使用pipline
实现一次请求指定多个命令,并且默认情况下一次pipline是原子性操作
'''
pipline = r.pipeline(transaction=True)
'''
redis有序集合操作,有序和散列一样,都用于存储键值对;
'''
r.zadd('score',{'student01':80,'student02':70})print(r.zrange('score',0,-1)) #输出所有的键值对
print(r.zrangebyscore('score',0,70)) #输出值在该范围内的所有的键值对
print(r.zrem('score','student02')) #删除指定键值对,删除成功返回1,否则返回0'''
redis 散列操作,可以存储多个键值对之间的映射。和字符串一样,散列存储的值即可以是字符串也可以是数字值,
并且用户同样可以对散列存储值的数字值执行自增操作或自减操作
'''
r.hset('classes','class_one','及格人数50人')
r.hset('classes','class_two','及格人数30人')
r.hdel('classes','class_two')
pipline.execute()
print(r.hgetall('classes')) #获取所有键值对
print(r.hdel('classes','class_two')) #删除之后,返回0
print(r.hget('classes','class_one')) #获取指定键值对值
print(r.hget('classes','class_two')) #获取指定键值对值,如果不存在,返回None
'''
redis 集合操作,字符串必须唯一
'''
r.sadd('student','小明')
r.sadd('student','小东')
r.sadd('student','小红')
r.sadd('student','小西')
r.sadd('student','小南')
r.sadd('student','小北')
r.srem('student','小北') #删除集合中“小北”这个元素
pipline.execute()print(r.smembers('student')) #返回集合的结果集
print(r.sismember('student','小西')) #查询该元素是否存在结果集中,如果该元素不存在,则返回false,返回True
print(r.sismember('student','小北')) #查询该元素是否存在结果集中,如果该元素不存在,则返回false,返回True'''
redis 链表操作命令,可以存储多个相同的字符串
'''
r.rpush('user_name','王娜娜')
r.rpush('user_name','王敏')
r.rpush('user_name','曹操')
r.rpush('user_name','王昭君')
r.rpush('user_name','李信')
r.rpush('user_name','韩信')
r.rpush('user_name','貂蝉')
r.rpush('user_name','刘皇叔')
pipline.execute()print(r.lrange('user_name',0,-1)) #返回范围内的元素值
print(r.lindex('user_name',0)) #返回指定下标的元素值
print(r.lpop('user_name')) #删除一个元素'''
redis字符串操作
'''
r.set('user_name','张林珍')
r.set('age',23)
r.set('address','上海市青浦区赵巷镇金葫芦新村4区103号后门租户103号')
r.delete('user_name') #删除key
r.delete('age')
r.delete('address')
pipline.execute()
gets = ['user_name','age','address']
print(r.mget(gets)) #返回结果为[None, None, None]

更多推荐

新手初学

本文发布于:2024-02-17 09:08:29,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1693469.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:新手

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!