前面更新了python语法编程,从八个方面分别简述了python3基础入门,列表与元组,字符串,字典,条件丶循环和其他语句,函数,面向对象编程,异常与文件处理,后面有讲述了python并发编程,并且从网络编程,多线程,多进程,协程等四方面展开,今天轮到讲述python数据库编程了。
python数据库编程,我们将从三个方面展开分析
由于MySQL数据库前面讲过了,今天跳过直接来到第二篇:Redis数据库
更多关注:
关注+评论或者私信(python)免费获取
Redis是一种基于内存的数据结构存储系统,常用于缓存、消息队列、排行榜等场景。下面介绍一些Redis服务端和客户端的基本操作命令。
启动Redis服务
redis-server
关闭Redis服务
redis-cli shutdown
查看Redis服务状态
redis-cli ping
查看Redis服务版本
redis-cli info server
查看Redis服务配置
redis-cli config get *
修改Redis服务配置
redis-cli config set
连接Redis服务
redis-cli -h -p -a
设置键值对
redis-cli set
获取键值对
redis-cli get
删除键值对
redis-cli del
判断键是否存在
redis-cli exists
设置键的过期时间
redis-cli expire
查看键的过期时间
redis-cli ttl
查看所有键
redis-cli keys *
查看键的类型
redis-cli type
列表操作
redis-cli lpush # 从左侧插入元素
redis-cli rpush # 从右侧插入元素
redis-cli lrange # 获取列表元素
redis-cli lpop # 从左侧弹出元素
redis-cli rpop # 从右侧弹出元素
集合操作
redis-cli sadd # 添加元素
redis-cli smembers # 获取所有元素
redis-cli sismember # 判断元素是否存在
redis-cli srem # 删除元素
哈希表操作
redis-cli hset # 设置字段值
redis-cli hget # 获取字段值
redis-cli hgetall # 获取所有字段和值
redis-cli hdel # 删除字段
有序集合操作
redis-cli zadd # 添加元素
redis-cli zrange # 获取元素
redis-cli zrem # 删除元素
以上是Redis服务端和客户端的基本操作命令,更多命令可以参考Redis官方文档。
Redis是一种基于内存的数据存储系统,支持多种数据结构,其中之一就是string。在Python中,我们可以使用redis-py库来操作Redis数据库中的string数据类型。
以下是一些常用的Redis string操作命令:
①.set(key, value):设置key对应的value值
import redis
r = redis.Redis(host='localhost', port=6379, db=0)
r.set('name', 'Tom')
②.get(key):获取key对应的value值
import redis
r = redis.Redis(host='localhost', port=6379, db=0)
name = r.get('name')
print(name)
③.mset(mapping):批量设置多个key-value对
import redis
r = redis.Redis(host='localhost', port=6379, db=0)
r.mset({'name': 'Tom', 'age': 18})
④.mget(keys):批量获取多个key对应的value值
import redis
r = redis.Redis(host='localhost', port=6379, db=0)
values = r.mget(['name', 'age'])
print(values)
⑤.incr(key, amount=1):将key对应的value值增加amount
import redis
r = redis.Redis(host='localhost', port=6379, db=0)
r.set('count', 1)
r.incr('count')
⑥.decr(key, amount=1):将key对应的value值减少amount
import redis
r = redis.Redis(host='localhost', port=6379, db=0)
r.set('count', 10)
r.decr('count', 5)
⑦.append(key, value):将value追加到key对应的value值的末尾
import redis
r = redis.Redis(host='localhost', port=6379, db=0)
r.set('name', 'Tom')
r.append('name', ' Smith')
⑧.strlen(key):获取key对应的value值的长度
import redis
r = redis.Redis(host='localhost', port=6379, db=0)
name_len = r.strlen('name')
print(name_len)
以上是Redis string数据类型的一些基本操作命令,可以根据实际需求进行使用。
Redis中的键命令用于管理和操作键值对。以下是一些常用的键命令:
这些命令可以通过Python Redis模块中的对应方法来调用,例如:
import redis
# 连接Redis数据库
r = redis.Redis(host='localhost', port=6379, db=0)
# 设置键值对
r.set('name', 'Alice')
# 获取键对应的值
name = r.get('name')
print(name)
# 删除指定的键值对
r.delete('name')
# 检查指定的键是否存在
exists = r.exists('name')
print(exists)
# 查找所有符合给定模式的键
keys = r.keys('*')
print(keys)
# 获取键的过期时间
ttl = r.ttl('name')
print(ttl)
# 设置键的过期时间
r.expire('name', 60)
# 移除键的过期时间
r.persist('name')
# 获取键对应的值的数据类型
type = r.type('name')
print(type)
在 Redis 中,Hash 是一个键值对集合,其中键和值都是字符串类型。Hash 可以用于存储对象,例如用户信息、商品信息等。
以下是 Python Redis 操作 Hash 的一些常用命令:
①.HSET(key, field, value):设置 Hash 中指定字段的值
redis_conn.hset('user:1', 'name', 'Alice')
②.HGET(key, field):获取 Hash 中指定字段的值
redis_conn.hget('user:1', 'name')
③.HMSET(key, mapping):设置 Hash 中多个字段的值
redis_conn.hmset('user:1', {'age': 20, 'gender': 'female'})
④.HMGET(key, fields):获取 Hash 中多个字段的值
redis_conn.hmget('user:1', 'name', 'age', 'gender')
⑤.HGETALL(key):获取 Hash 中所有字段和值
redis_conn.hgetall('user:1')
⑥.HDEL(key, field):删除 Hash 中指定字段
redis_conn.hdel('user:1', 'gender')
⑦.HEXISTS(key, field):判断 Hash 中是否存在指定字段
redis_conn.hexists('user:1', 'gender')
⑧.HKEYS(key):获取 Hash 中所有字段
redis_conn.hkeys('user:1')
⑨.HVALS(key):获取 Hash 中所有值
redis_conn.hvals('user:1')
⑩.HLEN(key):获取 Hash 中字段的数量
redis_conn.hlen('user:1')
以上是 Python Redis 操作 Hash 的一些常用命令,可以根据实际需求选择使用。
Redis中的List是一个双向链表,支持在头部和尾部进行插入和删除操作。List中的每个元素都是一个字符串。
Python中可以使用redis-py库来操作Redis数据库中的List数据类型。
首先需要导入redis库:
import redis
连接Redis数据库:
r = redis.Redis(host='localhost', port=6379, db=0)
①. 插入元素
在List的头部插入一个或多个元素:
r.lpush('list_key', 'value1', 'value2', 'value3')
在List的尾部插入一个或多个元素:
r.rpush('list_key', 'value4', 'value5', 'value6')
在指定元素前或后插入一个元素:
r.linsert('list_key', 'BEFORE', 'value2', 'new_value')
r.linsert('list_key', 'AFTER', 'value2', 'new_value')
②. 获取元素
获取List中指定范围内的元素:
r.lrange('list_key', 0, -1) # 获取所有元素
r.lrange('list_key', 0, 2) # 获取前三个元素
r.lrange('list_key', -3, -1) # 获取后三个元素
获取List中指定索引的元素:
r.lindex('list_key', 0) # 获取第一个元素
r.lindex('list_key', -1) # 获取最后一个元素
③. 删除元素
从List的头部删除一个元素:
r.lpop('list_key')
从List的尾部删除一个元素:
r.rpop('list_key')
删除List中指定的元素:
r.lrem('list_key', 0, 'value2') # 删除所有值为value2的元素
r.lrem('list_key', 1, 'value2') # 删除第一个值为value2的元素
r.lrem('list_key', -1, 'value2') # 删除最后一个值为value2的元素
④. 其他操作
获取List的长度:
r.llen('list_key')
将List中的最后一个元素移动到另一个List的头部:
r.rpoplpush('list_key', 'new_list_key')
阻塞式地从一个List的尾部弹出一个元素,并将其插入到另一个List的头部:
r.brpoplpush('list_key', 'new_list_key', timeout=0)
以上就是Python中操作Redis数据库中List数据类型的常用方法。
Redis中的Set是一个无序的集合,它的作用和List类似,都是用来存储多个字符串元素的集合。但是Set不同于List的是,Set中不允许出现重复的元素,而且Set中的元素是无序的。
Python中操作Redis的Set可以使用redis模块中的set方法。下面是一些常用的Set操作:
①.添加元素
import redis
r = redis.Redis(host='localhost', port=6379, db=0)
# 添加单个元素
r.sadd('set_key', 'value1')
# 添加多个元素
r.sadd('set_key', 'value2', 'value3', 'value4')
②.获取元素
import redis
r = redis.Redis(host='localhost', port=6379, db=0)
# 获取所有元素
members = r.smembers('set_key')
print(members)
# 判断元素是否存在
is_member = r.sismember('set_key', 'value1')
print(is_member)
③.删除元素
import redis
r = redis.Redis(host='localhost', port=6379, db=0)
# 删除单个元素
r.srem('set_key', 'value1')
# 删除多个元素
r.srem('set_key', 'value2', 'value3', 'value4')
# 删除集合
r.delete('set_key')
④.集合运算
import redis
r = redis.Redis(host='localhost', port=6379, db=0)
# 求交集
r.sadd('set_key1', 'value1', 'value2', 'value3')
r.sadd('set_key2', 'value2', 'value3', 'value4')
intersection = r.sinter('set_key1', 'set_key2')
print(intersection)
# 求并集
union = r.sunion('set_key1', 'set_key2')
print(union)
# 求差集
difference = r.sdiff('set_key1', 'set_key2')
print(difference)
在 Redis 中,ZSET(有序集合)是一种特殊的数据结构,它是一个键值对集合,其中每个元素都关联着一个浮点数分数。这个分数被用来按照从最小值到最大值的顺序排序元素。ZSET 的成员是唯一的,但分数(score)却可以重复。
Python Redis 操作有序集合的方法:
①.添加元素 使用 zadd 命令向有序集合中添加元素,语法如下:
zadd(name, mapping)
其中,name 是有序集合的名称,mapping 是一个字典,表示要添加的元素和它们的分数。例如:
redis.zadd('myzset', {'one': 1, 'two': 2, 'three': 3})
②.获取元素 使用 zrange 命令获取有序集合中指定范围内的元素,语法如下:
zrange(name, start, end, withscores=False)
其中,name 是有序集合的名称,start 和 end 分别表示要获取的元素的起始位置和结束位置(从 0 开始计数),withscores 表示是否同时返回元素的分数。例如:
redis.zrange('myzset', 0, -1, withscores=True)
③.获取元素数量 使用 zcard 命令获取有序集合中元素的数量,语法如下:
zcard(name)
其中,name 是有序集合的名称。例如:
redis.zcard('myzset')
④.获取元素排名 使用 zrank 命令获取有序集合中指定元素的排名,语法如下:
zrank(name, value)
其中,name 是有序集合的名称,value 是要获取排名的元素。例如:
redis.zrank('myzset', 'two')
⑤.获取元素分数 使用 zscore 命令获取有序集合中指定元素的分数,语法如下:
zscore(name, value)
其中,name 是有序集合的名称,value 是要获取分数的元素。例如:
redis.zscore('myzset', 'two')
⑥.删除元素 使用 zrem 命令从有序集合中删除指定的元素,语法如下:
zrem(name, values)
其中,name 是有序集合的名称,values 是要删除的元素。例如:
redis.zrem('myzset', 'two')
⑦.获取指定分数范围内的元素 使用 zrangebyscore 命令获取有序集合中指定分数范围内的元素,语法如下:
zrangebyscore(name, min, max, start=None, num=None, withscores=False, score_cast_func=float)
其中,name 是有序集合的名称,min 和 max 分别表示要获取的分数范围的最小值和最大值,start 和 num 分别表示要获取的元素的起始位置和数量(从 0 开始计数),withscores 表示是否同时返回元素的分数,score_cast_func 表示分数的类型转换函数。例如:
redis.zrangebyscore('myzset', 1, 2, withscores=True)
Redis是一个开源的内存数据结构存储系统,它支持多种数据结构,包括字符串、哈希、列表、集合和有序集合等。Redis的特点是速度快、可靠性高、支持丰富的数据结构和操作,因此被广泛应用于缓存、消息队列、计数器、排行榜等场景。
Python是一种高级编程语言,它具有简单易学、代码简洁、可读性强等特点,因此被广泛应用于Web开发、数据分析、人工智能等领域。Python提供了多种Redis客户端库,可以方便地操作Redis数据库。
Python操作Redis需要先安装Redis客户端库,常用的有redis-py、redis、hiredis等。其中redis-py是Redis官方推荐的Python客户端库,支持Python 2和Python 3,提供了丰富的API,使用方便。
安装redis-py库可以使用pip命令:
pip install redis
安装完成后,就可以在Python中使用redis-py库操作Redis数据库了。下面是一个简单的示例:
import redis
# 连接Redis数据库
r = redis.Redis(host='localhost', port=6379, db=0)
# 设置键值对
r.set('name', 'Tom')
# 获取键值对
name = r.get('name')
print(name)
在上面的示例中,首先使用redis.Redis()方法连接Redis数据库,然后使用r.set()方法设置键值对,使用r.get()方法获取键值对。其中,host参数指定Redis服务器的IP地址,port参数指定Redis服务器的端口号,db参数指定Redis数据库的编号。如果没有指定db参数,则默认使用编号为0的数据库。
除了set()和get()方法,redis-py库还提供了多种操作Redis数据库的方法,包括incr()、decr()、hset()、hget()、lpush()、rpush()、lrange()、sadd()、smembers()、zadd()、zrange()等
连接Redis数据库:
import redis
# 连接Redis数据库
r = redis.Redis(host='localhost', port=6379, db=0)
设置键值对:
# 设置键值对
r.set('name', 'Tom')
获取键值对:
# 获取键值对
name = r.get('name')
print(name)
删除键值对:
# 删除键值对
r.delete('name')
设置过期时间:
# 设置过期时间
r.setex('name', 10, 'Tom') # 10秒后过期
判断键是否存在:
# 判断键是否存在
if r.exists('name'):
print('name exists')
else:
print('name does not exist')
自增自减:
# 自增
r.incr('count')
# 自减
r.decr('count')
以上是Redis库的基本操作
Redis是一种内存键值对存储数据库,支持不同类别的数据类型,其中之一是string类型。字符串类型是Redis中最基本的数据类型。下面是一些操作Redis中String类型的基本操作:
①.设置String
我们可以使用set()方法设置String。如果键不存在,则创建一个新键并存储字符串值。如果键已经存在则覆盖该键的旧值。例如:
import redis
r = redis.Redis(host='localhost', port=6379, db=0)
r.set('key', 'value')
这将在Redis中创建一个名为“key”的键,并将其值设置为“value”。
②.获取String
我们可以使用get()方法来获取String的值。例如:
value = r.get('key')
这将返回名为“key”的键的当前值。
③.删除String
我们可以使用delete()方法来删除String。例如:
r.delete('key')
这将删除名为“key”的键。
④.操作String
Redis还提供了许多其他操作String的方法,例如:
例如,增加"in_stock"键的值2:
r.set("in_stock",10)
r.incr("in_stock",2)
print(r.get("in_stock"))
这将返回12,因为"in_stock"键的值从10增加了2。
这是Redis中一些对String类型基本的操作,我们还可以使用其他方法,根据具体应用需求进行选择和使用。
下章讲:python数据库编程:MongoDB数据库
更多关注:
关注+评论或者私信(python)免费获取
#python编程小知识# #python自学# #python自学# #python打卡# #每天学python#
页面更新:2024-04-18
本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828
© CopyRight 2008-2024 All Rights Reserved. Powered By bs178.com 闽ICP备11008920号-3
闽公网安备35020302034844号