Redis
Redis安装和配置
nosql
- 不支持SQL语法
- nosql中存储的数据都是KV形式
- NoSQL没有通用语言
NoSQL和SQL数据库的比较
- sql数据库适用于关系特别复杂的数据查询场景
- sql对事务的支持十分完善,nosql不支持
- sql:一组sql操作,要么都成功,要么都失败
服务端
名称 | 命令 | |
---|---|---|
开启服务 | sudo service redis start |
|
关闭服务 | sudo service redis stop |
|
重启服务 | sudo service redis restart |
|
查看是否启动 | `ps -ef | grep redis` |
杀死redis服务器 | sudo kill -9 pid |
客户端
名称 | 命令 |
---|---|
查看帮助文档 | redis-cli --help |
运行测试命令 | ping |
切换数据库 | select num |
数据结构
数据结构
- redis是
key-value
的数据结构,每条数据都是一个键值对 - 键的类型是字符串
- 注意:键不能重复
- 值得类型分为五种:
- 字符串
string
- 哈希
hash
- 列表
list
- 集合
set
- 有序集合
zset
- 字符串
string
- value最多
512MB
键命令
保存
如果设置的的键不存在则添加,已存在则修改
-
设置键
set key value setex key [seconds] value
seconds:过期时间
-
设置多个键
mset key v [k v]...
-
追加值
append key value
获取
-
根据键获取值
get key
-
根据多个键获取多个值
mget key1 key2 ...
删除
-
查找键,参数支持正则表达式
keys pattern
-
判断是否存在
exists key
-
查看键对应的value的类型
type key
-
删除
del key1 key2
-
设置过期时间
expire key seconds
-
查看有效时间
ttl key
hash类型
- 用于储存对象,对象的结构为属性、值
- 值的类型为string
增加、修改
-
设置单个属性
hset key field value
-
设置多个属性
hmset key field1 value1 field2 value2
获取
-
获取指定键的所有属性
hkeys key
-
获取一个属性的值
hget key field
-
获取多个属性的值
hmget key field1 fields
-
获取所有属性的值
hvals key
删除
删除整个hash键值,使用
del
命令-
删除属性,属性对应的值会被一起删除
hdel key field1 field2 ...
列表
- 元素类型
string
- 插入顺序排序
增加数据
-
左侧插入
lpush key value1 value2
-
右侧插入
rpush key value1 value2
-
指定位置指定索引的元素
linsert key before/after 现有 新获取
获取
lrange key start stop
- 设置指定位置索引的元素
lset key index value
删除
lrem key count value
- count > 0 从头到尾移除
- count < 0 从尾到头移除
- count = 0 移除所有
set类型
- 无序
-
string
类型 - 元素唯一,不重复
- 说明:集合没有修改操作
增加
-
添加元素
sadd key value1 value2
获取
-
返回所有元素
smembers key
删除
-
删除指定元素
srem key member1 member2
zset类型
- 有序
-
string
类型 - 唯一,不重复
- 每个元素都有一个
double
的score,表权重,排序按照权重从小到大 - 说明:没有修改操作
增加
zadd key score1 member1 score2 member2
获取
- 返回指定范围
start-stop
zrange key start stop
- 返回score在min和max之间的
zrangebyscorekey min max
- 返回成员member的score值
zscore key member
删除
- 指定元素
zrem key member1 member2
- 删除权重指定范围
zremrangebyscore key min max
与python交互
安装
pip install redis
StrictRedis对象方法
sr=StrictRedis(host='localhost', port=6379, db=0)
简写
sr =StrictRedis()