Day30 PythonWeb全栈课程课堂内容

本文详细介绍了Redis的五大数据类型,包括Hash、Set和Zset,以及Python操作Redis的常见方法。此外,讨论了主从配置的概念,强调了主从同步在性能提升和数据安全性上的作用。同时,讲解了Redis的RDB持久化机制,包括触发方式、配置和优缺点。
摘要由CSDN通过智能技术生成

1. Redis 常用五大数据类型

1.1 Redis-Hash

  • hash是一个键值对集合

  • hash是一个string类型的field和value的映射表,hash特别适合存储对象

  1. hset/hget/hmset/hmget/hgetall/hdel
设值/取值/设值多个值/取多个值/取全部值/删除值
hset user id 11
hget user id 
hmset customer id 11 name sam age 26
hmget customer id name age      
hgetall   customer              
hdel user id   

2.hlen

求哈希长度 
hlen customer

在这里插入图片描述

3.hexists key

hexists ---- 在key里面的某个值
存在返回1 ,不存在返回0

hexists customer name > 1
hexists customer age > 1
hexists customer high > 0

在这里插入图片描述

4.hkeys/hvals 查看Hash的字段和值

hkeys customer -> 查看所有字段
hvals customer -> 查看所有值

在这里插入图片描述

总结:hash的运用场景,例如:购物车(哪个用户添加了什么商品 添加购物车多少件)——>(用户、商品、数量)

carts user id :{goods id: count, goods id:count}

carts 1: {2(things1),3(things2)}

1.2 redis-set(不重复的)

Set(集合)

set是string类型的无序集合

16458e2da04f1a2d.gif

1.sadd/smembers/sismember

sadd/smembers/sismember ---- 添加/查看集合/查看是否存在
sadd set01 1 2 2 3 3  去掉重复添加
smembers set01   得到set01
sismember set01 1  如果存在返回1  不存在返回0

在这里插入图片描述

2.scard

scard ---- 获取集合里面的元素个数
scard set01

在这里插入图片描述

3.srem key value

srem ---- 删除集合中元素
srem set01 3
smember set01   3已经被删除掉

在这里插入图片描述

4.srandmember key

srandmembe ---- 随机出几个数
sadd set02  1 2 3 4 5 6 7 8
srandmember set02  2

在这里插入图片描述

5.spop key

spop ---- 随机出栈
spop set01

在这里插入图片描述

6.smove key1 key2

sadd set03 x y z 
smove set03 set01 x  将set03中的x 移动到set02中

在这里插入图片描述

7.数学集合类

sadd set01 1 2 3 4 5
sadd set02 1 2 3 a b

差集
SDIFF set01 set02   返回 4 5 在第一个set中不在第二个set中
交集
SINTER set01 set02   返回 1 2 3
并集
SUNION set01 set02  返回set01 set02 中的值  去掉重复

总结:运用场景,例如:抽奖100人,利用spop随机出数。

1.3 redis-Zset

Zset(有序集合)

有序集合类型(Sorted Set)相比与集合多了一个排序属性score(分值),对于有序集合ZSet来说,每个存储元素相当于有两个值组成的,一个是有序集合的元素值,一个是排序值,有序集合的存储元素值也是不能重复的,但分值是可以重复的。

16458f9f679a8bb0.gif

存储值: 老王 老李 老钱

分值:100 60 80

1.zadd/zrange

zadd zset01 60 v1 70 v2 80 v3 90 v4 100 v5
zrange zset01 0 -1 
带分数返回   withscores

在这里插入图片描述

2.zrangebyscore key start end

zrangebyscore key start end----根据开始结束来取值
zrangebyscore zset01 60 70
zrangebyscore zset01 60 (90   表示不包含90
zrangebyscore zset01 (60 90   表示不包含60
zrangebyscore zset01 (60 (90   表示不包含60

zrangebyscore zset01 60 90  limit  1 2 从第一条开始截取2条
zrangebyscore zset01 60 90

在这里插入图片描述

3.zrem key

zrem key value---- 某score下对应的value值,作用是删除元素
zrem zset01 v1
zrange zset01 0 -1

在这里插入图片描述

4.zcard/zcount key score 区间/zrank key values

zcard   求zset01 总条数
zcount  zset01 60 90  求60-90个数
zrank   zset01  v2   返回1  返回对应下角标,从0开始

在这里插入图片描述

2. Python操作Redis

2.1 redis安装及连接

安装Redis扩展

$ pip install redis

连接

r = redis
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值