python redis

redis 数据结构

  • redis是key-value的数据结构,每条数据都是⼀个键值对
  • 键的类型是字符串
  • 注意:键不能重复
  • 值的类型分为五种

字符串string

哈希hash

列表list

集合set

有序集合zset

 

str字符串类型是Redis中最为基础的数据存储类型,它在Redis中是二进制安全的,这便意味着该类型可以接受任何格式的数据,如JPEG图像数据或Json对象描述信息等。在Redis中字符串类型的Value最多可以容纳的数据长度是512M。

 

str 类型

设置键值 set key value 键不存在添加 存在修改

设置过期 set key seconds value 秒

多个键值 set key1 value1 key2 value2

追加 append key value

获取键对的值 get key 不存在键 则返回nil

获取多个键的值 mget key1 key2 key3

 

键的操作:

查看多有键 keys*

查看包含a的键 keys 'a*'

判断键是否存在 exists key1

查看键a1值的类型 type a1

删除 键 a1 a2 : del key1 key2 ...

设置过期时间 expire key seconds

查看有效时间 ttl key

 

hash类型 对象的机构是 键、属性、值

设置单个属性 hset key field value 例 hset user name xiaoming

设置多个属性 hmset key field1 vlaue1 field2 value2

获取指定键的所有属性 hkeys key

获取一个属性的值 hget key field 例hget u2 'name'

获取多个属性的值 hmget key field1 field2 ...

获取键所有属性的值 hvals key

删除

删除属性,属性对应的值会被⼀起删除 hdel key field1 field2。。。

 

list类型 元素是字符串类型 按照插图顺序排序

可以对key设置过期时间 

r1.expire('bili_'+ str(time_num), time=60*60*24*int(time_num))

在左侧插⼊数据 lpush key value1 value2 .

在右侧插⼊数据 rpush key value1 value2 

在指定元素的前或后插⼊新元素 linsert key before或after 现有元素 新元素

在键为'a1'的列表中元素'b'前加⼊'3' linsert a1 before b 3

返回列表⾥指定范围内的元素lrange key start stop

获取键为'a1'的列表所有元素 lrange a1 0 -1

设置指定索引位置的元素 索引从左侧开始,第⼀个元素为0 lset key index value

删除指定元素 lrem key count value

lrem a2 -2 b b a b a b a 删除a2列表中的前两次出现的b 从后往前删

 

set 无序集合 元素是字符串 元素唯一不重复 没有修改操作

添加元素 sadd key member1 member2 ...

获取键'a3'的集合中所有元素 smembers key

删除指定元素 srem key srem a3 wangwu

zset 类型

每个元素都会关联⼀个double类型的score,表示权重,通过权重将元素从⼩到⼤排序

添加 zadd key score1 member1 score2 member2 

zadd a4 4 lisi 5 wangwu 6 zhaoliu 3 zhangsan

例1:向键'a4'的集合中添加元素'lisi'、'wangwu'、'zhaoliu'、'zhangsan',权重分别为4、5、6、3

获取 返回指定范围内的元素 start、stop为元素的下标索引

zrange key start stop 获取键'a4'的集合中所有元素 zrange a4 0 -1

获取键'a4'的集合中权限值在5和6之间的成员 zrangebyscore a4 5 6

获取键'a4'的集合中元素'zhangsan'的权重 zscore a4 zhangsan

删除指定元素 zrem key member1 member2 

删除权重在指定范围的元素zremrangebyscore a4 5 6

 

与Python交互StrictRedis对象⽅法

  • 通过init创建对象,指定参数host、port与指定的服务器和端⼝连接,host默认为localhost,port默认为6379,db默认为0

sr = StrictRedis(host='localhost', port=6379, db=0)

sr = StrictRedis(host='localhost', port=6379, db=0,decode_responses=True) 加上 decode_responses=True取出的数据是str 不加的话取出时bytes

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值