文章目录
redis数据操作
数据结构
- redis 是key-value 的数据结构,每条数据都是一个键值对,键的类型是字符串(键不可以重复)
- 值的类型有5种:字符串(string)、哈希(hash)、列表(list)、集合(set)、有序集合(zset)
string类型
- 它在Redis 中是以二进制存储的,所以该类型可以接受任何格式的数据
- 字符串类型中,value 最多可以容纳的数据长度为512M
数据存入
- 设置键值:
set key value
- 设置键值及其过期时间:
setex key seconds value
(seconds 表示过期秒数) - 设置多个键值:
mset key1 value1 key2 value2
- 追加值:
append key value
数据获取
- 获取单个键的数据:
get key
- 获取多个键的数据:
mget key1 key2...
键命令
- 键命令是对所有类型的数据均可以操作
- 查找键:
keys xxx
(参数支持正则) - 判断键是否存在:
exists key
(存在就返回1,反之返回0) - 查看键对应value的类型:
type key
- 删除键及其对应的值:
del key1 key2...
- 设置过期时间:
expire key seconds
- 查看键有效时间:
ttl key
hash类型
数据的增加修改
- 设置单个属性:
hset key field value
(键 属性 值) - 设置多个属性:
hmset key field1 value1 field2 value2
数据的获取
- 获取指定键所有的属性:
hkeys key
- 获取一个属性的值:
hget key field
- 获取多个属性的值:
hmget key field1 feild2
- 获取所有属性的值:
hvals key
数据的删除
- 删除整个hash 键及值,需用del
- 删除属性及其对应值:
hdel key field1 field2
list类型
- 列表的元素类型为string,会按照插入顺序排序
数据增加
- 在左侧插入数据:
lpush key value1 value2
- 例:从键为a1的列表左侧加入数据a,b,c
lpush a1 a b c
- 例:从键为a1的列表左侧加入数据a,b,c
- 在右侧插入数据:
rpush key value1 value2
- 在指定元素前或后插入新元素:
linsert key before或after 现有元素 新元素
数据的获取
lrange key start stop
- 返回列表⾥指定范围内的元素
- start、stop为元素的下标索引
- 索引从左侧开始,第⼀个元素为0
- 索引可以是负数,表示从尾部开始计数,如-1表示最后⼀个元素
数据修改
- 设定指定索引位置的元素值:
lset key index value
数据删除
- 删除指定元素:
lrem key count value
- 将列表中前count次出现的值为value的元素移除
- count > 0: 从头往尾移除
- count < 0: 从尾往头移除
- count = 0: 移除所有
set类型
- 无序集合,元素为string 类型,元素具有唯一性,不重复
数据增加
- 添加元素:
sadd key member1 member2
数据获取
smembers key
(无序,不重复)
删除
srem key member1..
zset类型
- 有序,元素为string类型,唯一不重复
- 每个元素都会关联一个double 类型的score ,表示权重,通过权重将元素从小到大排序
数据添加
zadd key score1 member1 score2 member2 ...
数据获取
zrange key start stop
- 返回score值在min和max之间的成员:
zrangebyscore key min max
- 返回成员member 的score 值:
zscore key member
数据删除
- 删除指定元素:
zrem key member1 member2...
- 删除权重在指定范围的元素:
zremrangebyscore key min mxa
Redis与PYthon交互
-
安装redis的包
-
导入模块,这个模块中提供了StrictRedis对象(Strict严格),⽤于连接redis服务器,并按照不同类型提供 了不同⽅法,进⾏交互操作
sr = StrictRedis(host='localhost', port=6379, db=0) # ip端口不写的话就是默认的 sr = StrictRedis()
-
其方法就是每个类型的数据操作的方法