redis数据库【第三期】

本文主讲内容:数据的时效时间及其redis与python进行交互!

数据的失效时间

什么是数据的失效时间

答:为数据设置一个时限,超过这个时限,这个数据就会自动删除,应用场景:验证码!

在 redis 数据库为 key【数据】 设置失效时间的两种方式

第一种形式:创建数据时为指定 key 设置失效时间

语法:

1:set key value ex 30 为这个 key 设置失效时间,失效时间为 30 秒

2:set key value px 300000 为这个 key 设置失效时间,失效时间为 300000 毫秒

image-20211006203218465

第二种形式:为已经创建的 key 添加失效时间

语法:expire 已经存在的key 30 【为这个 key 设置失效时间,失效时间为 30 秒】

image-20211006203231339

如何在 redis 数据库内查询某个 key 的失效时间还剩多长

语法:

1:ttl 指定key 【查询指定key还剩多少时间失效,查询单位显示为秒】
2:pttl 指定key 【查询指定key还剩多少时间失效,查询单位显示为毫秒】

结果:

正数:查询某个键还有多少时间失效,如果显示为正数就说明还有正数这些时间失效

-1:查询某个键还有多少时间失效,如果显示为 -1 就说明这个键永远不失效

-2:查询某个键还有多少时间失效,如果显示为 -2 就说明这个键已经永远不失效

图示:

image-20211006203257034

在 redis 数据库内创建数据时,nx 参数与 xx 参数的作用

语法:

1:set key value nx 【如果这个key在redis数据库内不存在那么创建这个 key 成功】

2:set key value xx 【如果这个key在redis数据库内存在那么创建这个 key 成功】

3:set key value ex 30 nx 【如果这个key在redis数据库内不存在那么创建这个 key 成功,并且在30秒后这个key失效】

4:set key value ex 30 xx 【如果这个key在redis数据库内存在那么创建这个 key 成功,并且在30秒后这个key失效】

图示:

image-20211006203313886

应用场景:前两种语法用于加锁的机制上面,后两种情况用于锁机制避免出现死锁的情况

redis数据库与python交互【重点】

redis 与 python 进行交互的步骤

第一步:安装 python 的 redis 第三方库 → pip3 install redis

第二步:导入 redis 第三方数据库 → import redis

第三步:创建 redis 连接数据库对象 → red_obj = redis.Redis(host=主机,port=端口号,db=数据库号)

注意:redis默认有16个数据库,也就是数据库号可以是 0-15,一般选择0 redis的端口号是6379(整形)

第四步:利用创建的 redis 数据库对象对数据库进行操作 → result = red_obj.sadd(“name:age” , “21”) 向外键名为name的集合内插入键为age值为“21”的一条数据

注意:redis内的集合数据类型具有数据唯一性以及无序性的特征,如果上述插入的数据在集合内存在返回0,不存在返回数据1

截图:

image-20211006203447702

redis 与 python 交互后通过代码对redis数据库的操作

ps:确保对 redis 数据库操作之前已经成功通过代码连接上 redis 数据库

操作截图【对redis数据库内的string数据类型进行操作】:

ps:下面代码中的 sr 是建立数据库连接的对象

image-20211006203133995

image-20211006203142675

持续更新中……