Redis学习笔记
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 |
| 杀死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()

浙公网安备 33010602011771号